{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "import os"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# !pip install -U git+https://github.com/qubvel/efficientnet"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "__file__ = 'EfficientNet-B5-9.4.13-2'\n",
    "__version__ = 'v8'\n",
    "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"2\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "from keras.preprocessing.image import ImageDataGenerator\n",
    "from glob import glob\n",
    "import tensorflow as tf\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import keras\n",
    "from keras.applications.inception_v3 import InceptionV3\n",
    "from keras.applications.xception import Xception\n",
    "from keras.applications.resnet50 import ResNet50\n",
    "from keras_applications.resnext import ResNeXt50\n",
    "from keras.applications.nasnet import NASNetLarge\n",
    "from keras.applications.inception_resnet_v2 import InceptionResNetV2\n",
    "from keras.models import *\n",
    "from keras.layers import *\n",
    "from keras.optimizers import *\n",
    "from keras.callbacks import *\n",
    "import PIL\n",
    "import time\n",
    "import efficientnet.keras as efn "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "path_data = '../garbage_classify/train_data'\n",
    "batch_size = 16\n",
    "img_size = 456\n",
    "img_width = img_size\n",
    "img_height = img_size\n",
    "random_seed = 201908\n",
    "path_data_train = f'../tmp/data_train_{__version__}/'\n",
    "path_data_valid = f'../tmp/data_valid_{__version__}/'\n",
    "labels_file = '../tmp/labels_raw.csv'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f0ac18c6f60>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEGCAYAAACevtWaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO29eXib5ZX3/7kly/K+r7ETO6vjhIRsUMLWELYE2gKFMu20JdPCMKVMf92mLdNh3rbvtJ2u07d0prTQdqAtXSgtEAqFhBBKgAbInpAFG2Mndhbvm7xou39/6HkcxZG1WbYU6XyuK5elR4+kEyX+6jznPud7K601giAIQnJhiXcAgiAIQuwRcRcEQUhCRNwFQRCSEBF3QRCEJETEXRAEIQlJi3cAACUlJbq2tjbeYQiCIJxT7Ny5s1NrXRrosYQQ99raWnbs2BHvMARBEM4plFItEz0mZRlBEIQkJCxxV0oVKKUeU0odVkodUkqtVkoVKaU2K6UajJ+FxrlKKXWfUqpRKbVPKbViav8KgiAIwnjCzdx/CDyrtV4InA8cAu4Btmit5wNbjPsA64H5xp87gftjGrEgCIIQkpA1d6VUPnA58A8AWmsn4FRK3QCsMU57GHgR+BJwA/BL7fM12G5k/ZVa6xMxj14QhKTF5XLR2trKyMhIvEOJOxkZGVRXV2Oz2cJ+TjgLqrOBDuB/lVLnAzuBTwPlfoJ9Eig3blcBx/ye32ocO0PclVJ34svsmTVrVtgBC4KQGrS2tpKbm0ttbS1KqXiHEze01nR1ddHa2srs2bPDfl44ZZk0YAVwv9Z6OeDgdAnGfHMNRORAprV+QGu9Smu9qrQ0YCePIAgpzMjICMXFxSkt7ABKKYqLiyO+gglH3FuBVq31a8b9x/CJ/SmlVKXx5pVAu/F4GzDT7/nVxjFBEISISHVhN4nmcwgp7lrrk8AxpVSdcehK4CCwEdhgHNsAPGnc3gjcZnTNXAT0Sb098XB7vPz+jaO4Pd54hyIIwhQQbrfMp4BHlFL7gGXAN4FvAVcrpRqAq4z7AM8ATUAj8CDwyZhGLMSE197p5kt/3M/2pu54hyIICct9991HfX09H/7wh+MdSsSENaGqtd4DrArw0JUBztXA3ZOMS5hiOgdHAegecsY5EkFIXH784x/z/PPPU11dHe9QIkYmVFOUrkGfqPeJuAtCQD7xiU/Q1NTE+vXryc/P5+Mf/zhr1qxhzpw53HfffWPn3XjjjaxcuZLFixfzwAMPjB3PycnhC1/4AosXL+aqq67i9ddfH3v+xo0bAfB4PHzhC1/gggsuYOnSpfz0pz+NWfwJ4S0jTD/dDp+o9w654hyJIITma0+9ycHj/TF9zUUz8vjKexdP+PhPfvITnn32WbZu3cp///d/s2nTJrZu3crAwAB1dXXcdddd2Gw2fvGLX1BUVMTw8DAXXHABN998M8XFxTgcDtauXct3v/tdbrrpJu699142b97MwYMH2bBhA+973/v4+c9/Tn5+Pm+88Qajo6NccsklXHPNNRG1PE6EiHuKYpZj+oZF3AUhHK6//nrsdjt2u52ysjJOnTpFdXU19913H48//jgAx44do6GhgeLiYtLT01m3bh0AS5YswW63Y7PZWLJkCc3NzQBs2rSJffv28dhjjwHQ19dHQ0ODiLsQPd1GWaZXxF04BwiWYU8Xdrt97LbVasXtdvPiiy/y/PPP87e//Y2srCzWrFkz1o9us9nGWhgtFsvY8y0WC263G/ANKP3oRz/i2muvjXm8UnNPUaQsIwiTp6+vj8LCQrKysjh8+DDbt2+P6PnXXnst999/Py6X7/fwrbfewuFwxCQ2ydxTlNNlGVlQFYRoWbduHT/5yU+or6+nrq6Oiy66KKLn33HHHTQ3N7NixQq01pSWlvLEE0/EJDbl61yML6tWrdKyWcf0suI/NtPtcDK/LIfNn3t3vMMRhLM4dOgQ9fX18Q4jYQj0eSildmqtA7WpS1kmFfF4NT1DUnMXhGRGxD0F6R1yojVk2qz0DblIhKs3QRBii4h7CmJm7bUl2Tg9XkZc4i8jJCaSePiI5nMQcU9BzOnUOaXZAPTKoqqQgGRkZNDV1ZXyAm/6uWdkZET0POmWSUHMNsi5JYa4D7mozM+MZ0iCcBbV1dW0trbS0dER71DijrkTUySIuKcgXQ4zc88BpNddSExsNltMJjVTFSnLpCA9jtM1d5Bed0FIRkTcU5Auh5Ncexqlub5xaMncBSH5EHFPQbodTopy0inI9O2kLuZhgpB8iLinID1DTgqz0slKt2KzKhlkEoQkRMQ9BekadFKcnY5SivzMdCnLCEISIuKegnQ7nBRlpwNQkGWTBVVBSEJE3FMMrfVYzR2gINMmmbsgJCEi7imGw+nB6fFSlOUT93wRd0FISkTcUwxzByazLJOfZZNumRjS43Dy6+0tKT8yL8QfEfcUo8sxCkDxWFkmXcQ9hvx533HufeIAx7qH4x2KkOKIuKcYpiNkUbZvgKkgy8bgqBuXR5whY0GPUeI6NTAS50iEVEfEPcUwHSHNmntBlgwyxZJ+43M81S/iLsQXEfcUw3SENLtl8o0pVVlUjQ19Y+I+GudIhFRHxD3F6HY4SU+zkJ1uBaDAyOCl1z02mOLeLmUZIc6IuKcY3Q4nRVm+6VSQzD3WjIm7ZO5CnBFxTzH8p1MBMQ+LMf0jbkBq7kL8CUvclVLNSqn9Sqk9SqkdxrEipdRmpVSD8bPQOK6UUvcppRqVUvuUUium8i8gREaXwznWBgmnF1Qlc48N/WNlGcnchfgSSeZ+hdZ6mdZ6lXH/HmCL1no+sMW4D7AemG/8uRO4P1bBCpOnZ+jMzD03w4ZSiDNkjOiTbhkhQZhMWeYG4GHj9sPAjX7Hf6l9bAcKlFKVk3gfIYZ0D/rsfk2sFkVeho2+IVlQnSxuj5fBUTeZNisDI26GnZ54hySkMOGKuwY2KaV2KqXuNI6Va61PGLdPAuXG7SrgmN9zW41jZ6CUulMptUMptUM2wJ0eRt0eBkbdFPtl7uArzUjmPnkGjHr7vDLf3rTSMSPEk3DF/VKt9Qp8JZe7lVKX+z+ofUYaEZlpaK0f0Fqv0lqvKi0tjeSpQpT0OHwCXpRzpriLeVhsMEsy8w1xl153IZ6EJe5a6zbjZzvwOHAhcMostxg/243T24CZfk+vNo4JcWZsgCnrbHGXbpnJMybu5bmA1N2F+BJS3JVS2UqpXPM2cA1wANgIbDBO2wA8adzeCNxmdM1cBPT5lW+EODIm7meVZcQ8LBacnbmLuAvxIy2Mc8qBx42hlzTgN1rrZ5VSbwCPKqVuB1qAW43znwGuAxqBIeBjMY9aiIrxjpAmvg07ZEF1svSP+MS9pjiL9DQLHdIOKcSRkOKutW4Czg9wvAu4MsBxDdwdk+iEmHI6c7efcbzA8HT3ejUWi4pHaEmBmbnnZ9ooy7VL5i7EFZlQTSF6HE6UOm05YJKfacOrYWDUHafIkgNT3PMybZTnZciCqhBXRNxTiC6Hr8fdOi47HzMPk46ZSdE37CI9zUKGzUp5nl1aIYW4IuKeQoz3lTHJF3+ZmNA/7Br7LMtyM8Q8TIgrIu4pxETiPuYvI7a/k6J/2H1a3PPsDIy6GXJKqUuIDyLuKYRp9zueArH9jQl9wy7yMnw9CuW5GYBY/wrxQ8Q9heh2OM+aTgXIH8vcRdwnQ59fWaY8zyfu0jEjxAsR9xTB69X0DDnP8pUBv5q79LpPCn9xL8vztZuekl53IU6IuKcIfcMuvJozHCFN7GlWstKtUpaZJP0jfpn7WFlGMnchPoi4pwhdxgDT+OlUk/xMcYacDF6vpn/YRZ4h7nmZadjTLLJphxA3RNxThIl8ZUzEPGxyDDrdePXpEpdSyhhkksxdiA8i7ilCKHEvyLLJENMkMD+7PL/pX7EgEOKJiHuKEFLcM9Olz30SmKZh/tYO5XkZUpYR4oaIe4rQbThCBsvcZUE1esZ8ZTL8Mvc8u/S5C3FDxD1F6HI4ybGnYU+zBnw839hqz2fqKURK//DZmXtZbgaDo24cYsgmxAER9xShx+GkMNs24eMFmek43V5GXN5pjCp5GLP7zfIvy/h63aU0I8QDEfcUocvhPMvH3R8xD5sc/cO+7Hx8zR3iN6Xa1juM2yNf1qmKiHuK0O0IPJ1qIuZhk6Nv2IXVoshOP132Kss1plTjIO79Iy7Wfu9Ffr/j2LS/t5AYiLinCBM5QpqIedjkME3DjO0oASgzMvd4bLd3tGuIUbeXQyf6p/29hcRAxD0F0FqHFPcx8zAR96jw95UxyctII8NmiUvm3tY7DEBz59C0v7eQGIi4pwBDTg+jbm/wzN3cjUnKMlHh7ytjcnpKdfoz97YeQ9y7HNP+3kJiIOKeAoQaYAIpy0yWPj9fGX/iNaVqZu7He4cZdXuifp2HXnmHVxs7YxWWMI2IuKcAprgHW1DNSrdisyrplomSCcU9LyMuNXczc/dqaDVuR4rXq/nWs4f52cvvxDI0YZoQcU8BTHEvDCLuSilxhpwE/QFq7uCz/o1X5m7uCtUSZWnmeN8wIy5ZlD1XEXFPAbrCyNzBcIaUskzEaK3P2D/Vn7I8Ow6nh8FpnlJt6x1m9dxiIPpF1aYO35fCib4RemUjl3MOEfcUIJSvjElBlpiHRcOIy4vT4z3DV8ZkbEp1GrP3IaebboeTpdUF5NrTos7cmzoGx24flOz9nEPEPQXodriwWRU59rSg5xVkinlYNPQF8JUxMXdkms6OmePGYmp1YSY1JVk0d0WXub/d4SDd6pOIQycGYhafMD2IuKcA3Y5RirLTzxiwCUS+OENGRTBxLxvzl5m+zN1cQK0qyKSmODvqdsimzkHqK3MpybFL3f0cRMQ9BegO4StjUpCZLt0yURDIy93EnFKdTuvfMXEvzGR2cTatPcO4ovCYaepwMKc0h/rKXBH3cxAR9xQglK+MSX6mjcFRd1RCkMqc3oXp7LJXrj2NTJt1Wjtm2nqHSbMoynIzqCnOwuPVY62R4TLkdHOib4Q5Jdksqsyj4dSg/L84xwhb3JVSVqXUbqXUn437s5VSrymlGpVSv1dKpRvH7cb9RuPx2qkJXQiXboczaBukiWke1i/Ze0QEK8v4plTtnJrGXve2nmEqCzKwWhS1JdlA5JOqZqeML3PPw+nxjh0Tzg0iydw/DRzyu/9t4Ada63lAD3C7cfx2oMc4/gPjPCGOdIWZuZ92hhRxj4Rg4g6+TTumO3OvKsgEoKY4C4CWCBdVmzpNcc+mvjIPQEoz5xhhibtSqhq4HviZcV8Ba4HHjFMeBm40bt9g3Md4/EoVaiVPmDKcbi8DI+6QbZBwWpxkUTUyTHHPDdAKCb5F1emcUm3rGaaqwCfqpTl2stKtUWTugygFs0uymVOaTbrVIuJ+jhFu5v7/gC8CZtGtGOjVWpuTGa1AlXG7CjgGYDzeZ5x/BkqpO5VSO5RSOzo6OqIMXwiFOXwSXllGzMOioX/ERa49DaslcA7jMw8bmZYtDJ1uL6cGRqgq9GXuSilqirMjz9w7HMzIzyTDZsVmtTC/PEd63c8xQoq7Uuo9QLvWemcs31hr/YDWepXWelVpaWksX1rwI9zpVBDzsGiZyFfGpCzXztA0Tame7BtBa6g2yjIAtcVZNHdGmLl3DjKnNHvsfn1lnvS6n2OEk7lfArxPKdUM/A5fOeaHQIFSymwPqAbajNttwEwA4/F8oCuGMQsREI4jpIlZc5d2yMiYyFfGxNxubzr2Um3t9WXoZuYOUFOczbGeobC33NNa806Hg7mlOWPH6ivz6BwcjYsJmhAdIcVda/2vWutqrXUt8EHgBa31h4GtwC3GaRuAJ43bG437GI+/oKfjelQISDiOkCZmzVgy98gItFGHP+Yg03Qsqrb5DTCZzC7JwuXRnOgL7/1P9Y/icHrGZe65gCyqnktMps/9S8DnlFKN+GrqPzeO/xwoNo5/DrhnciEKkyEcR0gTq0WRl5EmmXuE9A+7A/a4m5RP4yCT6eNeWZAxdqymOLJ2SNNTZk7J6cx9kXTMnHMENxsZh9b6ReBF43YTcGGAc0aAD8QgNiEGdDmcKAWFWaHFHQzzMHEAjIiQmXvu9FkQtPUMU5Zrx552eqPu2jFxH+Ky+aFf422/NkiTgqx0KvMzRNzPIWRCNcnpdoxSkGmbsJNjPAVZ4ukeKaHEPceeRla6dVrMw1p7hqn2q7eD78slw2ahJcxF1aaOQTJtViryMs44Louq5xYi7klOj8MVVknGJF+cISPC6fYy7PIEFffTe6lOQ+beO0xVYdYZxywWRU1RdtjukD5PmWws4xKC+spc3u4YnNS2fcL0IeKe5HQ5RsNaTDUpyEoX+4EIME3DgrVCApTm2qe85u71ak70DZ+xmGpSU5wVtq+7rw0y56zj9ZV5uL2ahlODAZ4lJBoi7kmOzxEyksw9TcoyERDKesCkPC9jymvu7QOjuDz6jDZIk9qSbFq6h/B6gzeujbg8tPYMM6ck+6zHxIbg3ELEPckJ1+7XpCDTt6AaSgQEH6a4h8rcy3PtnOofndIp1Tajx716gszd6fZyIkRpqKVrCK3PXEw1qS3OJsNmkbr7OYKIexLj9Wp6hlwUZQcXHn8Ksmx4NQw6p3fPz3OVcDP3sjw7wy4PA1M4perv4z6e2UbHTKhF1beNNsi5AcoyVouiriJPMvdzBBH3JKZ/xIXHqyPK3E2Rko2yw8Ncnwi0f6o/09Hrbva4B6y5l5xuhwyG2eM+O0BZBmBRZS6HTvZPi0+OMDlE3JOYSHxlTEzzMOmYCY/+cDP3XFPcp67u3tYzTEGWjewAe+VW5mWQnmYJuaja1OGgIi8j4GuAr+7eO+Ti5DRaGAvRIeKexPRE4CtjctrTXQaZwiH8BVXDgmAKF1X9fdzHY7EoZhVlhZxSfbvTEbDebiKLqucOIu5JTFc04p4p5mGR0DfsItNmJT0t+K/SdOyl6vNxDyzu4HOHDGb9q7WmqWMwqLgvrDA9ZqZ3UXVgxDVWMhLCQ8Q9iYnEEdJENuyIjFC+MiY59jSyp3BKVWttDDBNLO41xdk0dzkm7ITqHHQyMOI+w1NmPLkZNmYWZU67t/v3N73FDf/zCh7p4gobEfckJhpxz5PMPSJCWQ/4U56XMWVlmd4hF0NOT8jMfcTlndB6eMwwLEjmDlAfh46Z7U1dDIy4OdYd2aYjqYyIexLT7XCSlW4lw2YNfbJBhs1Kps0q5mFhEom4+6ZUp0bczTbI8b4y/oTaLNvcNzVQG6Q/9ZV5NHc6GHZOjw3BwIiLI6d8ZSDzpwBfefJA0MdF3JOYSKdTTQqyxF8mXCLN3Kdqw46xAaZxvjL+mO6QE3XMNHUMkp5mYUaQ7B984u7V0ye0e4/1YXZeNoi4A/BqYycP/60l6Dki7klMl8MZURukSX6mOEOGS/+IK2SPu0l5nn3K9lJtDbBJx3gq8zOwWdWEve5NHQ5mF2eHdBCdbm/3nS09KAUlOekcEV8bnG4v9z55gFlFE3+Rg4h7UtMzicxdau7hEWr/VH/KcjMYcXnpH4n9lGpb7zBZ6daxVtZApFktzCyc2ECsqdPB3LLg9XbwlX5y7GnTJ+5He1hQlsv51QW8dVIy9we3NdHU4eBrNywOep6IexLT7XBGZPdrUpCZLhOqYeDxagZG3GGXZczt9jqmYFHVbINUKnjWXVOcRXPn2Zm70+3laPdQ0E4ZE4tFsbAid1rE3evV7D7aw4qaQhZU+CyHne7w9oJNRo51D/GjFxpYt7iCK+rKgp4r4p7ERGr3a+Iry0zfgmrDqYGxzp5ziYGR8AaYTEwLgqlohwzVBmlSU5xNS5fjrNLQ0e4hPF4dslPGpL4yj8MnBqbchqCxY5CBETcrawqpK8/F7dVhbxeYjHztqTexKMX/ee+ikOeKuCcpQ043Iy5vRL4yJtO5oNo35OLG/3mFL/1x37S8XyzpH/aVV8Ity5wW9ynI3INMp/pTW5yFw+mhY/DML5jTbZChM3fwifvAqHus1h8Ml8fLUJRGdDtbegBYWVPIgnLfANVbKbqouvngKZ4/1M5nrpofctEbRNyTltM97uE7QprkZ9kYdXsZcU19q9sjr7fgcHrYcugUrT3nVg9zuNYDJqf3Uo1t5u4YddM75Aovcy8xO2bO/KybAuybGoz6Sp/Qhhpm6ht2sf6H2/j4Q2+E9brj2dnSQ1F2OrXFWcwp9S32pmLdfcjp5qsb32RBeQ4fu2R2WM8RcU9STot7FJl7ZvjmYUdODuDyRFcDHXV7eOiVZhbP8HVfPPLa0aheJ15EKu7Z9jRy7Gkxz9yDuUGOx7T+bR5n/dvUMUhJjj3szp+6ilyUCt4x4/Z4+eff7KKxfZDtTd1RbVayq6WHFbMKUUqRYbNSU5yVkr3u//1CI229w3z9xiXYrOHJtoh7khKNr4yJ2XERqmOmudPB+h++xHeePRx5gMDGPcdpHxjlS+sWclV9Ob9/49i0XC3EikjFHXyLqrH2l2kLY4DJpKowE6tFnZ25dwQ3DBtPVnoas4uzg4r7f/z5INsaOvm4kWm+eLgj7NcHX4LS1OlgRU3B2LG68lzeSrF2yMb2AR7c1sTNK6q5cHZR2M8TcU9SeqKw+zUpGPOXCb7I+cSeNrwaHn61ZSx7DBetNT/b9g4LK3K5bH4Jt62updvh5Jn9JyKON16c3oUptLeMSVmuPebb7bWOZe7B+54BbFYL1YWZZy1KNnU6mBuBuIOv7j6Rgdiv/tbMw39r4R8vm82/v6eeGfkZbDl8KqLX333UqLfPKhw7tqA8l+YuxzmVBEwGrTX3PnGArPQ0vnzdwoieK+KepJhlmWhaIc0FwmCDTFprntjd5nMJVPCDzW9F9B4vNXRy5NQAd1w2B6UUl8wrZk5pNr8MMXWXSPRH2C0Dhr9MjDP31p4hbFY1VtMPha9j5nTm3uNw0u1whtUG6U99ZS5Hu4fGuoZMXm7o5KtPHeTKhWXcs74epRRr68vY1tAZkSjvbOkhzaJYWu2XuVfkojU0tqdG9v7knuNsb+rmi+vqKM6JrMQq4h5jEiWj6HI4sVkVeRnhZ5UmY2WZIDX3Pcd6ae4a4uOXzGbD6hr+uKuVIxEsdD34UhPleXbed/4MAJRSfPSiGvYc62V/a1/EMceDvmEXNqsiMwLvHp+4x3ZKta1nmMr8TCwhJktNaot9vu5mDE2d4RmGjcf0dvf/d3+7Y5BPPrKTeaU5/PBDy8emXa9cWM6Q08Nr73SH/fo7W3pYPCOPzPTTn++Cct8X0FR1zLg83qjXkGJN37CLrz99iPNnFvDBC2ZF/HwR9xhytGuIpV/dxC9efifeodA96KQwKz3kUEsgxnZjCtLr/sTuNtLTLKxbUsEn18wjx57Gd58Lr/Z+8Hg/Lzd28g8Xzz7DB/3mldVkpVv55d+aI445Hpi+MpF8xmW5dkbd3rE2ylgQbhukSU1xNgMj7rGru7c7zE6ZSDP3M20Ieoec3PHwDmxWCz/bsIocv92cVs8tJsNm4YVD4ZVmXB4ve1t7WVFTeMbxmuJs0q2WKVtU/dAD2/n4Q28kxDaC3990hG7HKN+48byQlhCBEHGPIVuPtOP0ePn60wfZerh9yt5nxOXh0Il+TvQNTzit1z0UnfUAQHa6lTSLmrBbxuXx8ud9J7i6vpy8DBuF2enctWYuzx9q5/UwMrOfbWsiK93K3194ZjaSl2HjxuVVbNx7fGzNIJGJxHrAZGzTjhjW3dt6whtgMqkt9tXmTY+Zpg4HNqtiZgSvAT6vmvxMGwdP+DqmPvnILtp6hvnpR1cyc5zvSYbNyqXzSthyuD0s4Tx0op8Rl5eV48TdZrUwpzR7Stoh3zzex46WHrY1dPLYztaYv34kHGjr41fbW7htdS3nVeVH9RqRX7MnKSMuD1sPt7PuvIqosl2Alxs7qSrIpCDLxqd+u5s/3nUxdcbONZOlx+HkhcPtbDp4kpfe6mTYr/yTl5FGSa6dkmw7JbnplOTYOXi8n5ri0AtsgVBK+QaZJqi5v9zQSZfDyY3Lq8aOfezi2Tz8ajPf+ssh/njXxRN+hif6htm49zgfXV1DfgAflNtW1/Cb147yh53HuPPyuVHFP130D4dvGmZSbtTFT/WPMr988v83Rt0e2gdGw+qUManxc4dcWVNIU8cgs4qySAuzxc5EKUV9pc+G4Csb3+TVt7v4/gfOZ1Vt4I6OtQvLef5QOw3tg2MDSROxyxheWjGr8KzH6ipy2dHcE1Gs4fCHHa2kWy0srMzlm88c4sr68qgTpMly/1/fJi/DxueuWRD1a0jmbvDcmye565FdbG8Kvyboj9vjZfvbXVy+oJSfbVhFVrqV2x9+g67B6BfPjnUP8fOX3+GDD/yNVd94ns//YS97j/Vx88oq7vvQcr550xI+f/UCblpeRX1FHihf/fPJPcdp6x0ec++LhvzMic3DHt/dRkGWjXcvKB07lplu5TNXLWDX0V42H5z40vuhV5vxaj3WHjeehRV5XFhbxK+2tyT8rjv9Edj9msR6SvVEr+91IinLzCzKxKL8MvdOR0gP94mor8xjz7FefvPaUe5aM5ebV1ZPeO7ahT4vlC2HQl/V7jzaS2V+RsBJzAXlubT1Dp+1kDsZRt0entjTxjWLy/neB85nYMTN158+GLPXj4T2gRGeO3CSD6ysjjh58Cdk5q6UygBeAuzG+Y9prb+ilJoN/A4oBnYCH9VaO5VSduCXwEqgC/g7rXVz1BFOE+Yv24tH2lk9tzji5+9r62Ng1M2l80qozM/kwdtWcetP/8Ynfr2TX9/xLuxp4S26jbg8/Pzld3hq73EOG5eedeW53PXuuVyzuJwlVflhXVm4PN6whx0CUZAV2DxscNTNpoMnuXlF9Vn7hn5gZTUPbmviO88dYe3CsrMywcFRN7957Sjrl1Seddnuz0dX1/Cp3+7mr2+1s3ZhedR/h6mmb9g1lgWHi2keFqsp1bEBpggyd3ualRkFmbR0OXB7vLR0ObiqPrrP2ay7X7OonC9cUxf03Ir8DM6ryuOFw6e4a03wq7JdLT1n1dtNzKy/oX0wYGYfDc8fbKd3yMWtq2ayoD5QnqMAACAASURBVDyXf3r3HP5n69vcvKKaS+aVxOQ9wuXRN47h9mo+fFHNpF4nnN/+UWCt1vp8YBmwTil1EfBt4Ada63lAD3C7cf7tQI9x/AfGeQlPh/HLtvVIdLXyVxo6UYqxL4bzZxbw/VvP543mHv7t8QNh1Rl3He3h+vu28d3njpCXYePe6+v56xfW8NxnL+dfrq1jaXVB2CWjyQg7TGwetunNk4y4vNzkV5IxSbNa+OK1dTS2D/KnXW1nPf77N44xMOLmzsvmBH3vaxdXUJZrT/i2yEg26jDJSk8jN4ZTqmMDTGH0uPtTW5xNc9cQrT3DuDzhG4aNZ915FXzh2jp+8HfLwurWWbuwnJ0tPUHXVE72jdDWO3xGf7s/dabHTAzr7o/uOMaM/IwxIf/U2vnUFmfxb4/vn9YOOI9X85vXjnLpvBJml0T3b2ISUgG0D7Op1Gb80cBa4DHj+MPAjcbtG4z7GI9fqaItYk8jpri/dWowKo+Tlxs7WTwj74wa3XuWzuAzV83nsZ2tPPBS04TPHXF5+M9nDnHL/a8y7PTwy49fyKOfWM0dl82JODOMFQWZgc3DHt/dRnVh5lkLXSbXLq5g2cwC/mvzW2f8Urg9Xn7x8jtcWFvE+TMLAj7XJD3NwocunMVf3+qY0Hs83mit6R8Jb3Ps8ZTl2Tkao71AW3uHUcqXFUdCTbHP191sg4x0gMkkL8PG3VfMI9se3udw5cIyvBr++tbE06q7jp42CwtEdWEmmTZrzDpmjvcO81JDB7esrB7rSsmwWfn6jUto7hrif7Y2xuR9wuGFw+0c7xvhIxdF3vo4nrDSO6WUVSm1B2gHNgNvA71aa7OfqxUwU7kq4BiA8XgfvtLN+Ne8Uym1Qym1o6Nj4n9orTV/3Nk65Xt6dgyOUpLjE+YXj0Q2Jj3kdLPraE/Ay7dPXzmf9yyt5FvPHg5Yi97Z0sN1923jpy818XcXzOK5z17O5X617HiRn2U7qyzT3j/CK42d3LS8asIrCKUU96xfyMn+ER56tXns+DMHTtLWO8w/Xh48azf5+3fNwqoUv96emNm7w+nB49URZ+4Aa+rKeOmtjphk7209w5TnZpxVIgtFbXE2vUMudh/tBYh4gClallTlU5JjZ0uQbrKdLT3Y0yxjJZ/xWCyKBeU5Met1/9OuVrSGW1bOPOP4pfNLuGl5FT/569vTtr3fr7e3UJ5nj7pM5k9Y/yO01h6t9TKgGrgQiGwONvBrPqC1XqW1XlVaOrGYNbQP8vk/7A2a+caCjoFRVswqZFZRFi9GWJp5/Z1uXB7NpQHEXSnF9z5wPkur8vn073Zz8LivJ3jE5eEbTx/klp+8yqjLy69vfxf/+f4l5E5iASWWFGSmMzDqxu030LFx73G8Gm5YdnZJxp+L5hRzRV0pP97aSN+QC601D77UxJySbK5cGHyDAZPyvAyuXVzBoztap20j5kiIxlfG5LbVNXi05pEYfHG19Q5FVG83MTupXjjcTmGWLapJ5miwWBRrF5by4pH2CYeFdrb0cH51QdAvrAUx8pjRWvOHna2snlPMrADdZfdeX0+2PY0vP74f7xQv8B/tGuKlhg4+eMGsiDuXAhHRK2ite4GtwGqgQCllXotVA2aRtQ2YCWA8no9vYTUqTH+JYB0YsaBjYJSyPDtX1JXySmNXRHW2Vxo7SU+zcMEELWAZNisP3raKvAwbdzz8BpvePMl1P9zGg9ve4e8v9GXrl86f3kWbUJhTqv5bwj255zhLqvKZVxY6y/viuoUMjLr58V8bee2dbva39XH7ZbPDnqIE38Jq37CLp/Yej/wvMMWYVzXRiHtNcTZr68r4zetHGXVP7osr0gEmk1qjnvvm8f6Ih5cmy9qF5QyMuAO2M464PLx5vG/CxVSTBeW5dAyMTnqTl9ff6aala4hbLwjc5VOcY+fL6+t5o7mHR3ccm9R7heKR11uwKMWHLpx8SQbCEHelVKlSqsC4nQlcDRzCJ/K3GKdtAJ40bm807mM8/oKexLiXednY0D54lk1prHC6vfQMuSjNyWDNwjKGXZGNSb/c2MWqmkIygoyhl+Vl8LMNq+gZcnHnr3Yy6vbyyB3v4hs3LTljki9RMMXdLIc1tg+wv63vjN72YNRX5nHTsioeeqWZ7zx7mKLsdG5eMXGbXCDeNbuIBeU5/HJ786QnBjsHR7nj4R0caIuNtYHpKxNtq9qGi2vpHJycUZrHqznROxJV5u6/ufKcSS7cRcql80tIt1p4IYCR2P62PlwePWG93WRBRWw27nh0Ryu59jTWLa6c8JwPrKrmXbOL+OYzh8bW5mLNqNvDH3a0clV9WcTrJxMRTuZeCWxVSu0D3gA2a63/DHwJ+JxSqhFfTf3nxvk/B4qN458D7plMgLuP9o75SUxV9t7l8P2DlebaWT2nGHuaJewJ087BUQ6d6A+rXeq8qnweuG0ln1o7j+c+e/m0t1hFwnjzsCd2H8ei4L3nT/xLMJ7PXr0ArWHX0V5uW10T9MsvEEopPrq6lgNt/ew+1hvRc8fzoy0NPH/oFP8Wo8vr046Q0Yn7pfNKmFOazUOvRl+aOdU/gturo8rcM2xWZhgiMt2Ze449jXfNKQpYdz89vBR80b0uBrsyDYy4eGb/Cd67bMYZ/jXjUUrxjZuWMOLy8h9/npre97/sP0m3w8lHJtn+6E843TL7tNbLtdZLtdbnaa3/r3G8SWt9odZ6ntb6A1rrUeP4iHF/nvF41MXygREXb7UPcN2SSuor86ZM3M1v49JcOxk2KxfPLQ677v7q276KU6B6eyAum1/K56+pS8hs3R/T9tesmT+xp41L5pVQlht+VjGzKIt/uKSWHHsaH43yP+1Ny6vIsafxq0m0RbZ0OXjktaPMKc1mb2sfT+49u00zUiZTcwdf7XnD6lr2HusdKz1GSjQ97v6YnVjRtkFOhisXltHU4eCdcVfjO1t6mF2SHdIBsTzPTl5GWkRmdeN5et8Jhl0ebl01M+S588pyuGvNXDbuPR600ydafrW9hdriLC6ZG7uEL6EnVPce60NrWD6rkGsWlbOjpXtSE58T4S/uAFcsLKO5a+is/3iBeKWhk7yMtKj9HxIVf/OwnS09tPYMB+xtD8WX1i3kpS9eEbFdqUmOPY2bV1Tx9L4TnOyLrrvke5vewma18Js7LmJJVT7fefbIpBdp+01xD2ChEC43r6wmx57Gw35dRZFwusc9OnGvLfGVZqJtg5wM5nDaC37Zu9aaXUd7WB4iawdfNr2gPJeGSSyqPrrjGPPLcji/Orzf3U9eMZc5Jdnc+8T+mC7yHzrRz86WHj5yUU1Ea1KhSGhxNzOaZTMLuHpROV5N0BaqaDlL3Ot8HR2hSjNaa15u7OTiuSVRubYlMqc37HDx+O42Mm1Wrl1cEfHrWC1q0v4ct186B6Xg3x7fH3Ht/UBbH0/tPc7tl86mIj+Df3/PIk70jfDgtsl1X/UPu1AKctKjvwLLsadxy8pqnt5/Iiojsclm7qtqiijPszOraPrFfVZxFvPLcs6oux/tHqJz0Bmy3m6yoCKXI6cGolqPaWwfYNfRXm5dNTPswUB7mpX/uPE8jnUPszEGV38mv97egj3Nwi1BrBuiIbHF/Vgv88pyyM+0sXhGHlUFmVNSmjHF3exzn1mUxbyynJDTqi1dQ7T1DnNJgnW6xAKzltwxMMqf953gmsXlYQ+qxJpZxVl84do6thxu54k9kf1SffvZwxRm2bjz3b7++gtnF7H+vAruf/HtSfWZ9xmmYZPNtG5bXYPLo/nta5F3YrT2DFOUnU5WlF8wN6+s5rUvXxVxj3ysWFtfxmtN3WMeMTtbgg8vjaeuPJe+YVdUVg5/2NFKmkWF3SBgcvHcYqoLM3l6/8mI3zMQg6NuntjdxnuWzhi7Wo4VCSvuWmt2H+1huTHNqJTiqvoytjV0xLzvuWNwlPxM2xn+L1fUlfJaUzeO0Yl9t19u7ATCr7efS1gtvo0+ntp3nL5hV8S/BLHmY5fMZmVNIV/deJD2MEX55YZOtjV0cvcV887oarln/UI8Xs33njsSdTzRWA8EYk5pDpcvKOWR11omtG+eiGjbIBOFKxeW4/ZqtjX4fo92He0h157G/LLw3DJNj5lI6+4uj5c/7mpj7cKysav1cFFKcf2SSl5t7IzJYOXju9twOD0xmUgdT8KKe0vXED1DLpb7+UtcvaiCEZeXbQ2xXdDoGBg96x/5iroynB7v2IJpIF4xLH5ro7TWTXQKstI51j1McXY6l8X5C8xqUXznlqWMuDx8OQyvHq9X8+1nD1NVkMlHV5+5mFtTnM0/XFLLY7tao26NjJW4A3zs4lraB0Z59s3IssG2nqFzWtxXzCqgIMs25hK5s6WXZbMKwi5xRrsr04tHOugcHA1rITUQ1y+txO3VbHpzclUEbQyyLZ6Rx7IQlhzRkLDivvuY7xLNf3HlXXOKyM1Ii3lppmNglNJxC36raovITrdOWJrxeDWvvt3FJfOKo/Z/T3RM8Xrv+TNiMjE3WeaW5vAv19Tx/KFTbAwx2PT0/hPsb+vjc1cvCOjIefcV8yjMSufrTx+MqmYbra9MIN69oJTa4qyIFla11r7MPcp6eyKQZrWwZkEpW4+00zfs4sjJ/rBLMuAbMCrJSY9Y3B/dcYzSXDtr6qKz+VhSlW+UZia3mfvOlh4OnxzgIxfVTImGxP83dgJ2H+0lK916hqm/zWph7cIyXjjcHlOv747BszP39DQLl84v4cUJdo5583gffcOuhO5VnyzmIFO8SzL+fPzS2SyfVcBXNr454SKk0+3le5uOsLAid8LY8zNtfPaq+Wxv6mZTFMlCLDN3i8XXz7+zpSfsK4luh5MRl/ecztwB1taX0+1w8vCrzXh14M05grGgPJcjEXTMtA+M8MLhdt6/oirqhMUszbwyydLMr7e3kGtP44ZlM6J+jWAktLifX332JdrVi8rpcjjHnONiQaCyDPhKM8f7RgJ6WJj19otj2JeaaNQWZ7OwIjfsVrHpwGpRfPeW8xlyerh3gvLM7984SkvXEF9atzDoJf6HLpzFvLIc/vOZQxHXu2Mp7uCbgsxKt55hthaMyXbKJArvnl+K1aJ48KUmlIJlYbRB+uNrhxwIezDtid1teLyaD6yMriRjct0SozQTZRWha3CUZ/af5P0rqqJeEA9FQor7sNO3R+iKmrP/od+9oBSbVcWsNOMYdTPk9AQU9zVmS2SA0swrjZ0srMiNeEHmXOL/vHcRj3/ykoQrO80ry+HzVy9g08FTPLXvzEtjx6ibH25p4MLZRSEvu9OsFv7t+nqau4Yi3pQ7mv1Tg5GXYeP9K3z7x4Yzy9Fq9Lif65l7fpaNVTWFDIy6qSvPjdjOoa4ilyGnZ+zLLhhaax7d0crKmsKw/JGCsbTaV5qJ1j7i0R2tOD3eSW/IEYyEFPf9bX24vZrlM8++RMvNsLF6bgmb3jwZkx3Kx3rcAwzZVORnUF+Zd1a/+4jLwxvNPUnZJeOPzWoJOpYdT+64bA7LZhbwlScPnOH38bNt79A56OSe9QvD+lJas6CUy+aXcN+WhrA35R5xeXC6vZPaAi0QG1bX4nR7+d0bodsixwaYzvHMHeDKel8SFcosLBCRdMzsbOmhsX2QW1dNvp9cKcV1Rmkm0I5lwfB4Nb95vYULZxeF3Et2MiSkuI8NL01wiXb1onKau4ZobJ+85WfH4JkDTOO5oq6UHS09Z+wnuqO5B6fbm5T97ecKVoviex9YisPp4d+f8JVnugZHeeClt7l2cXnYtVulFPdev4hBI+MPh/5JWg9MxPzyXC6ZV8wj21vOsFoeT8fAKG80d5Odbo15DPHg6kUVpFlUVKP3882Omfbg4j7q9nDvEwcoybFz/dLY1LivW1KJy6PZdDCyLqc/7zvOse5hPnZxbUzimIgEFfdeZhVlUTLByPrVhpF9tPUuf8ZPp45n7cIyPF7Ny0YvLvjq7Tar4sIJLH6F6WFeWS6fu3oBz755kqf3n+BHLzQy7PLwhWsj226griKXD104i19tbwkrYZisr0wwNqyu5XjfyFllx7c7BvnJX9/m/T9+hQu/+TybDp5i9dzk6NSaXZLNq/es5bolkU9A52XYmJGfEXLLvR8+38DhkwN8++bYubCeX51PVUFkpRmPV/PDLQ3UledGNfEdCQnnXmX6SwTbpLoiP4Pzq/PZfPAUd18xb1LvF0rcl80sID/TxtYj7Vy/1OeI+EpjJ8tnFcZtYlM4zR2XzuYvB05y7xMHcIy6+bsLZkZVT/3s1QvYuOc43/rLIX624YKg506luF9ZX051YSb/+0ozZXkZbD54ik0HT9LU4fM5Oq8qj89cuYBrFpezsGLqLumnm7K86G1ufTYEE38p72zp4Sd/fZu/WzWTK2Oww5GJrzRTwUOvNoe9wP7U3uM0dTj48YdXxNRHJhAJl7mf6BuhfWB0bDJ1Iq5eVM6eY71hTytORMfAKFaLonCC0d80q4XLF5Ty4pEOvF5Nj8PJgeN9SV9vP1dIs1r43i1LGRr1YFGKT1+5IKrXKcmx87FLZ/P8ofaQBmWTtfsNhtWiuG11Da83d3Pz/a/ys21NzMjP5GvvW8wr96zlz5+6jE9fNZ/6yrykyNpjQV15Lm+3DwYsZQ053fzLH/ZSmZ/Jve+pj/l7m6WZcBo83B4v921pYGFFLuumOGuHBMzczc05loeomV69qILvbXqLzYdO8eF3Rb/i3DEwSnF2etCWuSvqSnlq73HePN7PsZ4htCap+9vPNeaX53L/R1bg9upJbXTwvvNncN+WBp578yQbgtRDzY06pqre/ffvqqFr0MmiGXmsqStLirr6VLKgPBenx0tz19BZV23f/sth3ul08Nt/vGhKtrBcNrNgrDQTyvjrqX3Haep0cP80ZO2QgJn77qPBN8c1WVCew6yirEm3RAYaYBrP5QtKUcrXEvlyYye59rSE6v0WfOWMydYw55XlsKA8J2QNdTJb7IVDjj2Nf72unhuWVYmwh4HZcTJ+E+uXGzp5+G8tfPyS2UHLvJNBKcX68yrY1tBxRtPFeHxZeyMLK6a+1m6SeOJ+rJclVfkhneqUUlyzqJxXG7sYDGLuFYqJBpj8Kcmxs7S6gK1H2nmlsZOL5hYnxDi+EHvWn1fJ683dQbdT6xv2/X/Ly0i4C9+UZF5ZDkrBET9x7xt28YXH9jK3NJsvrqub0ve/bqmvNPN8kERz497jvNPp4DNXzZ+WrB0STNydbi/72/rCMusHX93d6fHy0iR2RgnkKxOIK+pK2X20l5auIam3JzHXLalEa3guiIlX37CL7HSrfMEnCJnpVmqKss7wmPnaU2/SPjDKf926LOLtHSNl+cwCZuRnTHjF5/Z4+dELjdRX5nHNounJ2iHBxP3giX6cbm/IervJyppCCrNsUZdmvF5NZxhlGTi9gQdIvT2ZWVCew5zSbP5yYOLSTP9IbK0HhMmzoDx3bJDpuTdP8qddbdy9Zi7nT4Hb4niUUqxfUsm2hs6x9Rh/ntzjy9o/feX0Ze2QYOJuDi+Fm7mnWS2sXVjOlkOncAUZ+piI3mEXbq8OS9yXVOVTnJ1ORV5GXLYlE6YHs4a6vamb7gkmVmNtPSBMngXluTR3DXGib5gv/2k/i2fk8c9r50/b+1+3pBKnx3tWacaXtTewqDKPaxfHrg0zHBJM3HupyMugMj/8keqrF5XTP+LmjXe6I36/UD3u/lgsii9fV88X19VJC1qSs/68SjxezeYJJg9jbRomTJ4FFbl4vJqPP7SDgRE3/3XrsmndYWr5zAIqA5RmnthznOauIT591fxp143EEvdj4W2O68/lC0qwp1mimlYN5isTiJtXVvP+FbHd51BIPBbPyGNWURbPTLCVWr9k7glHndExc+hEP/9y7QLqpnnAy2JRrD+vkpfeOl2a8c/ar1k0vVk7JJC4dwyMcqx7OGJxz0pP47L5JWw+eCpiI7GOQd+wSjI7OwqR46uhVkxoCtUvmXvCMbskG3uahQtri7j90jlxieH6pRU4PV62HPIlmo/vbqOla4jPxCFrhwQS9z3HwhteCsRFc4pp6x2mJ0J3tkjKMkJqcd15Pr/uzYfOviKUskzikZ5m4ff/tJoHblsZ9jZ9sWb5zEIq8jJ4et9J3B4v/721kcUz8rg6Dlk7JJC47z7aQ5pFsaQq8uGg2SW+Bc53Oh0RPa9jYJQMmyVmRkJC8rDUMIX6y7gaqsvjxeH0iLgnIMtmFlAwgY3IdGCx+K74Xmro4Jd/azGy9gVxW6NLGHHfdbSHRTPyoupJrTXEvTkKcS/NtcsCqXAWSinWnVfBtoZOBvza20y7XxlgEgJx/ZJKnG4v33zmEOdV5XFVfVnoJ00RCSHuGtjX2hfSLGwiZhZmYbWoiDP3zkFn2IupQupx3RJfDfUFv81a+kd806n5WZK5C2ezYpavNOP2aj5zZfyydkgQcR91eRhyeqKqt4Ov3lZdmMk7XdFl7oIQiOUzCynPs5/R3jaVdr/CuY/Forj90tlcu7h8bIepuMUS13c3GHJ6gPCHlwJRW5wdeVkmzOlUITWxWBTrFlfw4pEOHIZ/kYi7EIp/vHwOP/3oqriXe0OKu1JqplJqq1LqoFLqTaXUp43jRUqpzUqpBuNnoXFcKaXuU0o1KqX2KaVWhHqPIaeHoux0ZhVlRf0XmV3iE/dw2yFdHi/dDielOdFbxArJz/ollYy6vWObpI95uU+BfawgxJJwMnc38Hmt9SLgIuBupdQi4B5gi9Z6PrDFuA+wHphv/LkTuD/UGww53SyfWTCpb7rZJdk4nJ6gbn7+dA36RsslcxeCcUFtESU56fzlgG+gaar2TxWEWBNS3LXWJ7TWu4zbA8AhoAq4AXjYOO1h4Ebj9g3AL7WP7UCBUqoy2HuMur1R7XzuT22E7ZDS4y6Eg9WiuHZxBVsPtzPs9EzpLkyCEEsiqrkrpWqB5cBrQLnW2lxpOgmYnfpVwDG/p7Uax8a/1p1KqR1KqR1A1J0yJrOLjXbIMBdVZTpVCJfrllQy5PTw17c66B92YU+zTLmNrCBMlrDFXSmVA/wR+IzWut//Me0rdEc0+6+1fkBrvUprvQpg6STFvaowE5tV0SSZuxBj3jW7iMIsG385cEIcIYVzhrDEXSllwyfsj2it/2QcPmWWW4yfZjNwGzDT7+nVxrEJyUizTnpK1GpRzCrKCrtjxhT3kpz4TbQJ5wZpVgvXLKpgy6F2OgdHpd4unBOE0y2jgJ8Dh7TW/+X30EZgg3F7A/Ck3/HbjK6Zi4A+v/JNQGYVR98l44+vY2YorHM7Bny/pPY0ubwWQrN+SQWDo25eaugUcRfOCcJJly8BPgrsV0rtMY59GfgW8KhS6nagBbjVeOwZ4DqgERgCPhbqDewx8l2eXZLNtoZOvF4dcscT6XEXIuHiuSXkZaTRP+IWcRfOCUKKu9b6ZWAipbwywPkauHuScUVFbUk2o24vJ/pHqCoIvuFHuHunCgL4pqCvXlTBH3e1iq+McE6QEBOqsWKsYyaMurtYDwiRsv483+bGkrkL5wJJJe6R9LqLuAuRcun8EirzM5hXPr27/AhCNCTV9WVFXgYZNktIcXeMunE4PSLuQkRk2Ky8/KW1cdsMQhAiIakyd4tFhWUg1jkY2d6pgmAiwi6cKySVuIPPHTKU9a8MMAmCkOwknbjPLs3maNcQbo93wnNE3AVBSHaST9yLs3F7NW29wxOe0zEo4i4IQnKTdOIeTsdMx8AoVouiMI6b6QqCIEwlSSjuPiuDYIuqHQOjFGeny+KYIAhJS9KJe2mOnRx7WsjMXUoygiAkM0kn7kopakuyeKdrYgMx8ZURBCHZSTpxh9CbZYuvjCAIyU5Sivuckmxae4Zwus9uh/R6NZ2SuQuCkOQkpbjXlmTj1XC0++zSTN+wC5dHi7gLgpDUJK24Q+COGelxFwQhFUhKcZ9TMvFm2WPTqVJzFwQhiUlKcS/ISqcgyxZws2yxHhAEIRVISnGHiTtmRNwFQUgFklbcfZtlB665Z9gs5NiTyspeEAThDJJa3I/3jTDs9Jxx3JxOVUqsBwRBSF6SVtzNjpmW7jOzdxlgEgQhFUhacZ9os2zxlREEIRVIWnE33SHHd8yIr4wgCKlA0op7boaNkhz7GZm7y+Ol2+GkNCcjjpEJgiBMPUkr7gCzS7Jo7jxtQdA16ASkDVIQhOQnqcV9/GbZ0uMuCEKqkNTiPrs0m46BUQZGXAB0DI4AIu6CICQ/yS3uRsdMi7Fxh2TugiCkCkkt7uM3yzbFvSRHNsYWBCG5CSnuSqlfKKXalVIH/I4VKaU2K6UajJ+FxnGllLpPKdWolNqnlFoxlcGHorb4bHHPz7RhT7PGMyxBEIQpJ5zM/SFg3bhj9wBbtNbzgS3GfYD1wHzjz53A/bEJMzoy061U5meMtUNKj7sgCKlCSHHXWr8EdI87fAPwsHH7YeBGv+O/1D62AwVKqcpYBRsN/h0zYj0gCEKqEG3NvVxrfcK4fRIoN25XAcf8zms1jp2FUupOpdQOpdSOjo6OKMMITa2fO6RYDwiCkCpMekFVa60BHcXzHtBar9JaryotLZ1sGBMypySbniEXvUNOEXdBEFKGaMX9lFluMX62G8fbgJl+51Ubx+KG2TFz8Hg/DqdHxF0QhJQgWnHfCGwwbm8AnvQ7fpvRNXMR0OdXvokLsw0DsdebfcsGUnMXBCEVCLkdkVLqt8AaoEQp1Qp8BfgW8KhS6nagBbjVOP0Z4DqgERgCPjYFMUfEzKIsLApef8cQd8ncBUFIAUKKu9b6QxM8dGWAczVw92SDiiX2NCtVhZnsPtoLiLgLgpAaJPWEqkltcTbDLt92eyLugiCkAikh7rONRVWrRVGYJdYDgiAkPykl7sXZ6VgtsjG2IAjJT0qIu9kOKSUZQRBShZQQd9P6V8RdaBbiSQAABf1JREFUEIRUISXEvbowkzSLokR63AVBSBFCtkImA2lWC//+nkUsqc6PdyiCIAjTQkqIO8CGi2vjHYIgCMK0kRJlGUEQhFRDxF0QBCEJEXEXBEFIQkTcBUEQkhARd0EQhCRExF0QBCEJEXEXBEFIQkTcBUEQkhDl218jzkEoNQAciXccYVICdMY7iDCRWKcGiXVqkFgjp0ZrXRrogUSZUD2itV4V7yDCQSm1Q2KNPRLr1CCxTg3nQqxSlhEEQUhCRNwFQRCSkEQR9wfiHUAESKxTg8Q6NUisU0PCx5oQC6qCIAhCbEmUzF0QBEGIISLugiAISUjcxV0ptU4pdUQp1aiUuife8QRDKdWslNqvlNqjlNoR73j8UUr9QinVrpQ64HesSCm1WSnVYPwsjGeMJhPE+lWlVJvx2e5RSl0XzxiNmGYqpbYqpQ4qpd5USn3aOJ5wn2uQWBPxc81QSr2ulNprxPo14/hspdRrhhb8XimVnsCxPqSUesfvc10W71jPQmsdtz+AFXgbmAOkA3uBRfGMKUS8zUBJvOOYILbLgRXAAb9j3wHuMW7fA3w73nEGifWrwL/EO7ZxcVYCK4zbucBbwKJE/FyDxJqIn6sCcozbNuA14CLgUeCDxvGfAHclcKwPAbfEO75gf+KduV8INGqtm7TWTuB3wA1xjumcRGv9EtA97vANwMPG7YeBG6c1qAmYINaEQ2t9Qmu9y7g9ABwCqkjAzzVIrAmH9jFo3LUZfzSwFnjMOJ4on+tEsSY88Rb3KuCY3/1WEvQ/pIEGNimldiql7ox3MGFQrrU+Ydw+CZTHM5gw+Gel1D6jbBP3Uoc/SqlaYDm+zC2hP9dxsUICfq5KKatSag/QDmzGdwXfq7V2G6ckjBaMj1VrbX6u3zA+1x8opexxDDEg8Rb3c41LtdYrgPXA3Uqpy+MdULho33VlImcc9wNzgWXACeD78Q3nNEqpHOCPwGe01v3+jyXa5xog1oT8XLXWHq31MqAa3xX8wjiHNCHjY1VKnQf8K76YLwCKgC/FMcSAxFvc24CZfverjWMJida6zfjZDjyO7z9lInNKKVUJYPxsj3M8E6K1PmX8EnmBB0mQz1YpZcMnlo9orf9kHE7IzzVQrIn6uZporXuBrcBqoEApZfpdJZwW+MW6ziiDaa31KPC/JNjnCvEX9zeA+cYqeTrwQWBjnGMKiFIqWymVa94GrgEOBH9W3NkIbDBubwCejGMsQTHF0uAmEuCzVUop4OfAIa31f/k9lHCf60SxJujnWqqUKjBuZwJX41sj2ArcYpyWKJ9roFgP+325K3xrA3H/XMcT9wlVozXr/+HrnPmF1vobcQ1oApRSc/Bl6+Bz0/xNIsWqlPotsAafFekp4CvAE/g6EGYBLcCtWuu4L2ROEOsafKUDja8r6Z/86tpxQSl1KbAN2A94jcNfxlfLTqjPNUisHyLxPtel+BZMrfgSzEe11v/X+B37Hb4yx27gI0ZmHDeCxPoCUIqvm2YP8Am/hdeEIO7iLgiCIMSeeJdlBEEQhClAxF0QBCEJEXEXBEFIQkTcBUEQkhARd0EQhCRExF1IOZRSQVvWlFK1/o6VYb7mQ0qpW0KfKQjTg4i7IAhCEiLiLqQsSqkcpdQWpdQuw6ff35E0TSn1iFLqkFLqMaVUlvGclUqpvxrmcc+NmwAVhIRBxF1IZUaAmwwzuCuA7xvj5AB1wI+11vVAP/BJw7vlR/h8vFcCvwASZkpZEPxJC32KICQtCvim4e7pxWcxa9r3HtNav2Lc/jXw/wHPAucBm43vACs+p0VBSDhE3IVU5sP4/EFWaq1dSqlmIMN4bLwvh8b3ZfCm1nr19IUoCNEhZRkhlckH2g1hvwKo8XtsllLKFPG/B14GjgCl5nGllE0ptXhaIxaEMBFxF1KZR4BVSqn9wG3AYb/HjuDbkOUQUAjcb2wFeQvwbaXUXnxugBdPc8yCEBbiCikIgpCESOYuCIKQhIi4C4IgJCEi7oIgCEmIiLsgCEISIuIuCIKQhIi4C4IgJCEi7oIgCEnI/w8d4beD9OI6wQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "labels_train = pd.read_csv(f'../tmp/labels_train_{__version__}.csv')\n",
    "labels_valid = pd.read_csv(f'../tmp/labels_valid_{__version__}.csv')\n",
    "n_classess = labels_train.label.unique().shape[0]\n",
    "labels_train.groupby(by='label').count().plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "labels_train.label = labels_train.label.apply(lambda x: f'{x:02d}')\n",
    "labels_valid.label = labels_valid.label.apply(lambda x: f'{x:02d}')\n",
    "# labels_train['label_bin'].values = keras.utils.np_utils.to_categorical(\n",
    "#     labels_train.label, n_classess)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "({0: 1.5316062176165803,\n",
       "  1: 0.9986486486486487,\n",
       "  2: 1.325560538116592,\n",
       "  3: 4.347058823529411,\n",
       "  4: 0.9566343042071197,\n",
       "  5: 1.2796536796536797,\n",
       "  6: 0.9354430379746835,\n",
       "  7: 1.0228373702422144,\n",
       "  8: 0.9723684210526315,\n",
       "  9: 0.9504823151125402,\n",
       "  10: 0.9566343042071197,\n",
       "  11: 0.5027210884353741,\n",
       "  12: 1.1196969696969696,\n",
       "  13: 0.9039755351681957,\n",
       "  14: 1.0371929824561403,\n",
       "  15: 0.8823880597014926,\n",
       "  16: 1.0519572953736656,\n",
       "  17: 1.1967611336032389,\n",
       "  18: 1.0228373702422144,\n",
       "  19: 1.18714859437751,\n",
       "  20: 1.6422222222222222,\n",
       "  21: 0.563047619047619,\n",
       "  22: 0.9853333333333333,\n",
       "  23: 1.1967611336032389,\n",
       "  24: 1.1637795275590552,\n",
       "  25: 0.6718181818181819,\n",
       "  26: 1.0557142857142856,\n",
       "  27: 0.6906542056074766,\n",
       "  28: 0.9691803278688524,\n",
       "  29: 0.8903614457831325,\n",
       "  30: 1.1546875,\n",
       "  31: 0.8303370786516854,\n",
       "  32: 1.3196428571428571,\n",
       "  33: 1.1501945525291828,\n",
       "  34: 0.9354430379746835,\n",
       "  35: 1.0557142857142856,\n",
       "  36: 1.3943396226415095,\n",
       "  37: 1.1501945525291828,\n",
       "  38: 0.9474358974358974,\n",
       "  39: 0.8469914040114613},\n",
       " <matplotlib.axes._subplots.AxesSubplot at 0x7f0bb1388668>)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEGCAYAAACevtWaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAASOklEQVR4nO3df7DldV3H8efL3QVs+LEaV2OWxcXEzEwWuG2gpUajITVhI05MjWKaOyqNYtpk9mOiiWZ0TIdq1FZQsShUoCRGczbdNBoB78ICLgu6UA0gxU1FoBJdfPfH+SxeLvfHuey9ew4fno+ZM/dzPt/P93vf53vnvu73fs/3fL6pKiRJfXnCqAuQJC0/w12SOmS4S1KHDHdJ6pDhLkkdWj3qAgAOP/zw2rBhw6jLkKTHlO3bt/93VU3MtWwswn3Dhg1MTU2NugxJekxJ8h/zLfO0jCR1yHCXpA4Z7pLUIcNdkjpkuEtShwx3SeqQ4S5JHTLcJalDi4Z7koOSXJPk+iQ7k5zT+n8jye4kleTwGeOT5M/ashuSHL+SL0CS9EjDfEL1AeDkqro/yRrgyiSfBv4VuAL451njXwoc0x4/Cby/fZUk7SeLhnsNbtV0f3u6pj2qqq4DSDJ7ldOAj7b1rkqyNskRVXXX8pUtSVrIUOfck6xKsgO4G9haVVcvMHwdcPuM53e0vtnb3JxkKsnU9PT0UmqWJC1iqHCvqgeraiNwJLApyXP29RtX1ZaqmqyqyYmJOSc1kyQ9Sku6Wqaq7gG2AacsMOxOYP2M50e2PknSfjLM1TITSda29hOBFwM3L7DK5cCr2lUzJwLf8ny7JO1fwxy5HwFsS3ID8CUG59yvSPKmJHcwODK/Icn5bfyngNuA3cAHgTeuQN2SpAVkcFHLaE1OTpY365CkpUmyvaom51rmJ1QlqUOGuyR1yHCXpA4Z7pLUIcNdkjpkuEtShwx3SeqQ4S5JHTLcJalDhrskdchwl6QOGe6S1CHDXZI6ZLhLUocMd0nqkOEuSR0y3CWpQ4a7JHXIcJekDhnuktQhw12SOmS4S1KHDHdJ6pDhLkkdWjTckxyU5Jok1yfZmeSc1n90kquT7E7ysSQHtP5XJ5lOsqM9fn2lX4Qk6eGGOXJ/ADi5qo4FNgKnJDkReCfw3qp6BvBN4LUz1vlYVW1sj/OXvWpJ0oIWDfcauL89XdMeBZwMXNL6LwRetiIVSpKWbKhz7klWJdkB3A1sBW4F7qmqPW3IHcC6Gau8PMkNSS5Jsn6ebW5OMpVkanp6eh9egiRptqHCvaoerKqNwJHAJuBZCwz/B2BDVT2XwR+CC+fZ5paqmqyqyYmJiSWWLUlayJKulqmqe4BtwEnA2iSr26IjgTvbmK9X1QOt/3zghGWqVZI0pGGulplIsra1nwi8GNjFIORPb8POBD7ZxhwxY/VfbGMlSfvR6sWHcARwYZJVDP4YfLyqrkhyE3Bxkj8GrgMuaOPflOQXgT3AN4BXL3/ZkqSFpKpGXQOTk5M1NTU16jIk6TElyfaqmpxrmZ9QlaQOGe6S1CHDXZI6ZLhLUocMd0nqkOEuSR0y3CWpQ4a7JHXIcJekDhnuktQhw12SOmS4S1KHDHdJ6pDhLkkdMtwlqUOGuyR1yHCXpA4Z7pLUIcNdkjpkuEtShwx3SeqQ4S5JHTLcJalDhrskdWjRcE9yUJJrklyfZGeSc1r/0UmuTrI7yceSHND6D2zPd7flG1b2JUiSZhvmyP0B4OSqOhbYCJyS5ETgncB7q+oZwDeB17bxrwW+2frf28ZJkvajRcO9Bu5vT9e0RwEnA5e0/guBl7X2ae05bfnPJsmyVSxJWtRQ59yTrEqyA7gb2ArcCtxTVXvakDuAda29DrgdoC3/FvCDy1m0JGlhQ4V7VT1YVRuBI4FNwLP29Rsn2ZxkKsnU9PT0vm5OkjTDkq6Wqap7gG3AScDaJKvboiOBO1v7TmA9QFt+GPD1Oba1paomq2pyYmLiUZYvSZrLMFfLTCRZ29pPBF4M7GIQ8qe3YWcCn2zty9tz2vLPVVUtZ9GSpIWtXnwIRwAXJlnF4I/Bx6vqiiQ3ARcn+WPgOuCCNv4C4K+S7Aa+AZyxAnVLkhawaLhX1Q3AcXP038bg/Pvs/m8Dr1iW6iRJj4qfUJWkDhnuktQhw12SOmS4S1KHDHdJ6pDhLkkdMtwlqUOGuyR1yHCXpA4Z7pLUIcNdkjpkuEtShwx3SeqQ4S5JHTLcJalDhrskdchwl6QOGe6S1CHDXZI6ZLhLUocMd0nqkOEuSR0y3CWpQ6tHXQDAbdP/wy//5RdHXYYkdcMjd0nqUKpq4QHJeuCjwFOBArZU1XlJjgU+ABwM/Dvwq1V1b5INwC7glraJq6rq9Qt9j8nJyZqamtqHlyFJjz9JtlfV5FzLhjktswd4a1Vdm+QQYHuSrcD5wNuq6vNJXgP8FvD7bZ1bq2rjchQvSVq6RU/LVNVdVXVta9/H4Kh8HfBM4Att2Fbg5StVpCRpaZZ0zr2dcjkOuBrYCZzWFr0CWD9j6NFJrkvy+SQ/Pc+2NieZSjI1PT295MIlSfMbOtyTHAxcCpxdVfcCrwHemGQ7cAjwnTb0LuCoqjoO+E3gb5IcOnt7VbWlqiaranJiYmJfX4ckaYahLoVMsoZBsF9UVZcBVNXNwEva8mcCP9/6HwAeaO3tSW5lcArHd0wlaT9Z9Mg9SYALgF1V9Z4Z/U9pX58A/B6DK2dIMpFkVWs/HTgGuG35S5ckzWeYI/fnA68Ebkyyo/W9AzgmyVnt+WXAh1v7BcAfJfku8D3g9VX1jWWsWZK0iEXDvaquBDLP4vPmGH8pg1M4kqQR8ROqktQhw12SOmS4S1KHDHdJ6pDhLkkdMtwlqUOGuyR1yHCXpA4Z7pLUIcNdkjpkuEtShwx3SeqQ4S5JHTLcJalDhrskdchwl6QOGe6S1CHDXZI6ZLhLUocMd0nqkOEuSR0y3CWpQ4a7JHXIcJekDi0a7knWJ9mW5KYkO5O8ufUfm+SLSW5M8g9JDp2xzu8k2Z3kliQ/t5IvQJL0SMMcue8B3lpVzwZOBM5K8mzgfODtVfXjwN8BvwXQlp0B/BhwCvC+JKtWonhJ0twWDfeququqrm3t+4BdwDrgmcAX2rCtwMtb+zTg4qp6oKr+DdgNbFruwiVJ81vSOfckG4DjgKuBnQyCHOAVwPrWXgfcPmO1O1qfJGk/GTrckxwMXAqcXVX3Aq8B3phkO3AI8J2lfOMkm5NMJZmanp5eyqqSpEUMFe5J1jAI9ouq6jKAqrq5ql5SVScAfwvc2obfyfeP4gGObH0PU1VbqmqyqiYnJib25TVIkmYZ5mqZABcAu6rqPTP6n9K+PgH4PeADbdHlwBlJDkxyNHAMcM1yFy5Jmt/qIcY8H3glcGOSHa3vHcAxSc5qzy8DPgxQVTuTfBy4icGVNmdV1YPLW7YkaSGLhntVXQlknsXnzbPOucC5+1CXJGkf+AlVSeqQ4S5JHTLcJalDhrskdchwl6QOGe6S1CHDXZI6ZLhLUocMd0nqkOEuSR0y3CWpQ4a7JHXIcJekDhnuktQhw12SOmS4S1KHDHdJ6pDhLkkdMtwlqUOGuyR1yHCXpA4Z7pLUIcNdkjpkuEtShwx3SerQouGeZH2SbUluSrIzyZtb/8YkVyXZkWQqyabW/6Ik32r9O5L8wUq/CEnSw60eYswe4K1VdW2SQ4DtSbYC7wLOqapPJzm1PX9RW+dfquoXVqRiSdKiFg33qroLuKu170uyC1gHFHBoG3YY8LWVKlKStDTDHLk/JMkG4DjgauBs4DNJ3s3g9M7zZgw9Kcn1DAL/bVW1c45tbQY2Axx11FGPpnZJ0jyGfkM1ycHApcDZVXUv8AbgLVW1HngLcEEbei3wtKo6Fvhz4O/n2l5VbamqyaqanJiY2JfXIEmaZahwT7KGQbBfVFWXte4zgb3tTwCbAKrq3qq6v7U/BaxJcviyVi1JWtAwV8uEwVH5rqp6z4xFXwNe2NonA19t43+orUO7guYJwNeXs2hJ0sKGOef+fOCVwI1JdrS+dwCvA85Lshr4Nu38OXA68IYke4D/A86oqlresiVJCxnmapkrgcyz+IQ5xv8F8Bf7WJckaR/4CVVJ6pDhLkkdMtwlqUOGuyR1yHCXpA4Z7pLUIcNdkjpkuEtShwx3SeqQ4S5JHTLcJalDhrskdchwl6QOGe6S1CHDXZI6ZLhLUocMd0nqkOEuSR0y3CWpQ4a7JHXIcJekDhnuktQhw12SOmS4S1KHFg33JOuTbEtyU5KdSd7c+jcmuSrJjiRTSTa1/iT5syS7k9yQ5PiVfhGSpIdbPcSYPcBbq+raJIcA25NsBd4FnFNVn05yanv+IuClwDHt8ZPA+9tXSdJ+suiRe1XdVVXXtvZ9wC5gHVDAoW3YYcDXWvs04KM1cBWwNskRy165JGlewxy5PyTJBuA44GrgbOAzSd7N4I/E89qwdcDtM1a7o/XdNWtbm4HNAEcdddTSK5ckzWvoN1STHAxcCpxdVfcCbwDeUlXrgbcAFyzlG1fVlqqarKrJiYmJpawqSVrEUOGeZA2DYL+oqi5r3WcCe9ufADa19p3A+hmrH9n6JEn7yTBXy4TBUfmuqnrPjEVfA17Y2icDX23ty4FXtatmTgS+VVUPOyUjSVpZw5xzfz7wSuDGJDta3zuA1wHnJVkNfJt2/hz4FHAqsBv4X+DXlrViSdKiUlWjroEk9wG3jLqOIR0O/PeoixiSta4Ma10Z1rp0T6uqOd+0XNLVMivolqqaHHURw0gyZa3Lz1pXhrWujMdCrU4/IEkdMtwlqUPjEu5bRl3AEljryrDWlWGtK2Psax2LN1QlSctrXI7cJUnLyHCXpA6NJNyTnJLkljbn+9tb39FJrm59H0tywChqm22eWj+S5N/aXPY7kmwcgzo/lOTuJF+e0ffkJFuTfLV9fdIoa9xrnlr/MMmdM/bpqaOssdU0370Mxm6/LlDrOO7Xg5Jck+T6Vus5rX/sMmCBWscuAx6hqvbrA1gF3Ao8HTgAuB54NvBx4Iw25gPAG/Z3bUuo9SPA6aOub1atLwCOB748o+9dwNtb++3AO0dd5wK1/iHwtlHXNqvOI4DjW/sQ4Cvt5z92+3WBWsdxvwY4uLXXMJhl9sQxzYD5ah27DJj9GMWR+yZgd1XdVlXfAS5mMAf8ycAlbcyFwMtGUNts89U6dqrqC8A3ZnWfxmBfwvjs0/lqHTs1/70Mxm6/LlDr2KmB+9vTNe1RjGEGLFDr2BtFuM833/s9VbVnVt+ozVcrwLntNoLvTXLg/i9tKE+t70/a9p/AU0dZzBB+o+3TD43DqY6ZZt3LYKz366xaYQz3a5JVba6qu4GtDP5DHscMeEStVbV3v451BviG6qPzO8CzgJ8Angz89mjLWVwN/q8c5yOO9wM/DGxkcGOXPx1tOd83x70MHjJu+3WOWsdyv1bVg1W1kcGU4JsY/D6Npdm1JnkOj4EMGEW4zzff+9o2w+TMvlGbs9b2L3BV1QPAh/n+XPbj5r/23uKwfb17xPXMq6r+q/0SfQ/4IGOyT+e5l8FY7te5ah3X/bpXVd0DbANOYjwz4CEzaj3lsZABowj3LwHHtHfGDwDOYDAH/Dbg9DbmTOCTI6httjlrnfGLHQbnBb+8wDZG6XIG+xLGZ5/OKQ+/z+4vMQb7tP1857qXwdjt1/lqHdP9OpFkbWs/EXgxg/cIxi4D5qn15sdEBoziXVwG871/hcF5tt9tfU8HrmEwD/wngANH/W7zArV+DriRwQ/0r2nvpo+4zr9l8G/3dxmcr3wt8IPAZxncSOWfgCePus4Fav2rtk9vYBCeR4xBnT/F4JTLDcCO9jh1HPfrArWO4359LnBdq+nLwB+0/rHLgAVqHbsMmP1w+gFJ6pBvqEpShwx3SeqQ4S5JHTLcJalDhrskdchw1+NSkvsXWb5h5qyVQ27zI0lOX3yktPIMd0nqkOGux7UkByf5bJJrk9yYZOasn6uTXJRkV5JLkvxAW+eEJJ9Psj3JZ2Z9ClQaC4a7Hu++DfxSVR0P/Azwp+0j5QA/Aryvqn4UuBd4Y5u/5c8ZzOV9AvAh4NwR1C0taPXiQ6SuBfiTJC8Avsdgmtm9U/jeXlX/2tp/DbwJ+EfgOcDW9jdgFYOpFKSxYrjr8e5XgQnghKr6bpJ/Bw5qy2bPzVEM/hjsrKqT9l+J0tJ5WkaPd4cBd7dg/xngaTOWHZVkb4j/CnAlcAswsbc/yZokP7ZfK5aGYLjr8e4iYDLJjcCrgJtnLLsFOCvJLuBJwPtrcLvF04F3JrmeweyLz9vPNUuLclZISeqQR+6S1CHDXZI6ZLhLUocMd0nqkOEuSR0y3CWpQ4a7JHXo/wEkjYGzvL2PewAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.utils.class_weight import compute_class_weight\n",
    "class_weights = compute_class_weight('balanced', np.unique(labels_train.label), labels_train.label)\n",
    "d_class_weights = dict(enumerate(class_weights))\n",
    "d_class_weights,(labels_train.groupby(by='label').count()['fname'] * class_weights).plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Found 11824 validated image filenames belonging to 40 classes.\n",
      "Found 2976 validated image filenames belonging to 40 classes.\n"
     ]
    }
   ],
   "source": [
    "ig = ImageDataGenerator(preprocessing_function=efn.preprocess_input)\n",
    "\n",
    "params_g = dict(\n",
    "    batch_size=batch_size,\n",
    "    # directory=path_data,\n",
    "    # class_mode='other',\n",
    "    x_col='fname',\n",
    "    y_col='label',\n",
    "    target_size=(img_width, img_height),\n",
    "    interpolation='lanczos',\n",
    "    seed=random_seed)\n",
    "\n",
    "train_g = ig.flow_from_dataframe(labels_train, path_data_train, **params_g)\n",
    "valid_g = ig.flow_from_dataframe(labels_valid[:-(labels_valid.shape[0] % batch_size)], path_data_valid, shuffle=False, **params_g)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TensorShape([Dimension(None), Dimension(114), Dimension(114), Dimension(3)])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "img_input = Input(shape=(img_width, img_height, 3))\n",
    "x = MaxPooling2D((2,2))(img_input)\n",
    "x = MaxPooling2D((2,2))(x)\n",
    "x.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Colocations handled automatically by placer.\n",
      "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/function.py:1007: calling Graph.create_op (from tensorflow.python.framework.ops) with compute_shapes is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Shapes are always computed; don't use the compute_shapes as it has no effect.\n",
      "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:3445: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.\n"
     ]
    }
   ],
   "source": [
    "base_model_a = efn.EfficientNetB5(weights='imagenet', include_top=False, input_tensor=img_input,pooling='avg')\n",
    "base_model_b = efn.EfficientNetB5(weights='imagenet', include_top=False, input_tensor=x,pooling='avg')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "for layer in base_model_a.layers:\n",
    "    layer.name += '_a'\n",
    "for layer in base_model_b.layers:\n",
    "    layer.name += '_b'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "for layer in base_model_a.layers[:-285]:\n",
    "    layer.trainable=False\n",
    "    \n",
    "# for layer in base_model_b.layers[:-285]:\n",
    "#     layer.trainable=False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = Concatenate()([base_model_a.output,base_model_b.output])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "__________________________________________________________________________________________________\n",
      "Layer (type)                    Output Shape         Param #     Connected to                     \n",
      "==================================================================================================\n",
      "input_1_a_b (InputLayer)        (None, 456, 456, 3)  0                                            \n",
      "__________________________________________________________________________________________________\n",
      "max_pooling2d_1_b (MaxPooling2D (None, 228, 228, 3)  0           input_1_a_b[0][0]                \n",
      "__________________________________________________________________________________________________\n",
      "max_pooling2d_2_b (MaxPooling2D (None, 114, 114, 3)  0           max_pooling2d_1_b[0][0]          \n",
      "__________________________________________________________________________________________________\n",
      "stem_conv_a (Conv2D)            (None, 228, 228, 48) 1296        input_1_a_b[0][0]                \n",
      "__________________________________________________________________________________________________\n",
      "stem_conv_b (Conv2D)            (None, 57, 57, 48)   1296        max_pooling2d_2_b[0][0]          \n",
      "__________________________________________________________________________________________________\n",
      "stem_bn_a (BatchNormalization)  (None, 228, 228, 48) 192         stem_conv_a[0][0]                \n",
      "__________________________________________________________________________________________________\n",
      "stem_bn_b (BatchNormalization)  (None, 57, 57, 48)   192         stem_conv_b[0][0]                \n",
      "__________________________________________________________________________________________________\n",
      "stem_activation_a (Activation)  (None, 228, 228, 48) 0           stem_bn_a[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "stem_activation_b (Activation)  (None, 57, 57, 48)   0           stem_bn_b[0][0]                  \n",
      "__________________________________________________________________________________________________\n",
      "block1a_dwconv_a (DepthwiseConv (None, 228, 228, 48) 432         stem_activation_a[0][0]          \n",
      "__________________________________________________________________________________________________\n",
      "block1a_dwconv_b (DepthwiseConv (None, 57, 57, 48)   432         stem_activation_b[0][0]          \n",
      "__________________________________________________________________________________________________\n",
      "block1a_bn_a (BatchNormalizatio (None, 228, 228, 48) 192         block1a_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block1a_bn_b (BatchNormalizatio (None, 57, 57, 48)   192         block1a_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block1a_activation_a (Activatio (None, 228, 228, 48) 0           block1a_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block1a_activation_b (Activatio (None, 57, 57, 48)   0           block1a_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block1a_se_squeeze_a (GlobalAve (None, 48)           0           block1a_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1a_se_squeeze_b (GlobalAve (None, 48)           0           block1a_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1a_se_reshape_a (Reshape)  (None, 1, 1, 48)     0           block1a_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1a_se_reshape_b (Reshape)  (None, 1, 1, 48)     0           block1a_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1a_se_reduce_a (Conv2D)    (None, 1, 1, 12)     588         block1a_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1a_se_reduce_b (Conv2D)    (None, 1, 1, 12)     588         block1a_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1a_se_expand_a (Conv2D)    (None, 1, 1, 48)     624         block1a_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1a_se_expand_b (Conv2D)    (None, 1, 1, 48)     624         block1a_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1a_se_excite_a (Multiply)  (None, 228, 228, 48) 0           block1a_activation_a[0][0]       \n",
      "                                                                 block1a_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1a_se_excite_b (Multiply)  (None, 57, 57, 48)   0           block1a_activation_b[0][0]       \n",
      "                                                                 block1a_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1a_project_conv_a (Conv2D) (None, 228, 228, 24) 1152        block1a_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1a_project_conv_b (Conv2D) (None, 57, 57, 24)   1152        block1a_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1a_project_bn_a (BatchNorm (None, 228, 228, 24) 96          block1a_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block1a_project_bn_b (BatchNorm (None, 57, 57, 24)   96          block1a_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block1b_dwconv_a (DepthwiseConv (None, 228, 228, 24) 216         block1a_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1b_dwconv_b (DepthwiseConv (None, 57, 57, 24)   216         block1a_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1b_bn_a (BatchNormalizatio (None, 228, 228, 24) 96          block1b_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block1b_bn_b (BatchNormalizatio (None, 57, 57, 24)   96          block1b_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block1b_activation_a (Activatio (None, 228, 228, 24) 0           block1b_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block1b_activation_b (Activatio (None, 57, 57, 24)   0           block1b_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block1b_se_squeeze_a (GlobalAve (None, 24)           0           block1b_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1b_se_squeeze_b (GlobalAve (None, 24)           0           block1b_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1b_se_reshape_a (Reshape)  (None, 1, 1, 24)     0           block1b_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1b_se_reshape_b (Reshape)  (None, 1, 1, 24)     0           block1b_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1b_se_reduce_a (Conv2D)    (None, 1, 1, 6)      150         block1b_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1b_se_reduce_b (Conv2D)    (None, 1, 1, 6)      150         block1b_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1b_se_expand_a (Conv2D)    (None, 1, 1, 24)     168         block1b_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1b_se_expand_b (Conv2D)    (None, 1, 1, 24)     168         block1b_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1b_se_excite_a (Multiply)  (None, 228, 228, 24) 0           block1b_activation_a[0][0]       \n",
      "                                                                 block1b_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1b_se_excite_b (Multiply)  (None, 57, 57, 24)   0           block1b_activation_b[0][0]       \n",
      "                                                                 block1b_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1b_project_conv_a (Conv2D) (None, 228, 228, 24) 576         block1b_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1b_project_conv_b (Conv2D) (None, 57, 57, 24)   576         block1b_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1b_project_bn_a (BatchNorm (None, 228, 228, 24) 96          block1b_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block1b_project_bn_b (BatchNorm (None, 57, 57, 24)   96          block1b_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block1b_drop_a (FixedDropout)   (None, 228, 228, 24) 0           block1b_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1b_drop_b (FixedDropout)   (None, 57, 57, 24)   0           block1b_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1b_add_a (Add)             (None, 228, 228, 24) 0           block1b_drop_a[0][0]             \n",
      "                                                                 block1a_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1b_add_b (Add)             (None, 57, 57, 24)   0           block1b_drop_b[0][0]             \n",
      "                                                                 block1a_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1c_dwconv_a (DepthwiseConv (None, 228, 228, 24) 216         block1b_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block1c_dwconv_b (DepthwiseConv (None, 57, 57, 24)   216         block1b_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block1c_bn_a (BatchNormalizatio (None, 228, 228, 24) 96          block1c_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block1c_bn_b (BatchNormalizatio (None, 57, 57, 24)   96          block1c_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block1c_activation_a (Activatio (None, 228, 228, 24) 0           block1c_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block1c_activation_b (Activatio (None, 57, 57, 24)   0           block1c_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block1c_se_squeeze_a (GlobalAve (None, 24)           0           block1c_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1c_se_squeeze_b (GlobalAve (None, 24)           0           block1c_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1c_se_reshape_a (Reshape)  (None, 1, 1, 24)     0           block1c_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1c_se_reshape_b (Reshape)  (None, 1, 1, 24)     0           block1c_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1c_se_reduce_a (Conv2D)    (None, 1, 1, 6)      150         block1c_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1c_se_reduce_b (Conv2D)    (None, 1, 1, 6)      150         block1c_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1c_se_expand_a (Conv2D)    (None, 1, 1, 24)     168         block1c_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1c_se_expand_b (Conv2D)    (None, 1, 1, 24)     168         block1c_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1c_se_excite_a (Multiply)  (None, 228, 228, 24) 0           block1c_activation_a[0][0]       \n",
      "                                                                 block1c_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1c_se_excite_b (Multiply)  (None, 57, 57, 24)   0           block1c_activation_b[0][0]       \n",
      "                                                                 block1c_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1c_project_conv_a (Conv2D) (None, 228, 228, 24) 576         block1c_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1c_project_conv_b (Conv2D) (None, 57, 57, 24)   576         block1c_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block1c_project_bn_a (BatchNorm (None, 228, 228, 24) 96          block1c_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block1c_project_bn_b (BatchNorm (None, 57, 57, 24)   96          block1c_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block1c_drop_a (FixedDropout)   (None, 228, 228, 24) 0           block1c_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1c_drop_b (FixedDropout)   (None, 57, 57, 24)   0           block1c_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block1c_add_a (Add)             (None, 228, 228, 24) 0           block1c_drop_a[0][0]             \n",
      "                                                                 block1b_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block1c_add_b (Add)             (None, 57, 57, 24)   0           block1c_drop_b[0][0]             \n",
      "                                                                 block1b_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block2a_expand_conv_a (Conv2D)  (None, 228, 228, 144 3456        block1c_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block2a_expand_conv_b (Conv2D)  (None, 57, 57, 144)  3456        block1c_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block2a_expand_bn_a (BatchNorma (None, 228, 228, 144 576         block2a_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block2a_expand_bn_b (BatchNorma (None, 57, 57, 144)  576         block2a_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block2a_expand_activation_a (Ac (None, 228, 228, 144 0           block2a_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2a_expand_activation_b (Ac (None, 57, 57, 144)  0           block2a_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2a_dwconv_a (DepthwiseConv (None, 114, 114, 144 1296        block2a_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block2a_dwconv_b (DepthwiseConv (None, 29, 29, 144)  1296        block2a_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block2a_bn_a (BatchNormalizatio (None, 114, 114, 144 576         block2a_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block2a_bn_b (BatchNormalizatio (None, 29, 29, 144)  576         block2a_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block2a_activation_a (Activatio (None, 114, 114, 144 0           block2a_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block2a_activation_b (Activatio (None, 29, 29, 144)  0           block2a_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block2a_se_squeeze_a (GlobalAve (None, 144)          0           block2a_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2a_se_squeeze_b (GlobalAve (None, 144)          0           block2a_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2a_se_reshape_a (Reshape)  (None, 1, 1, 144)    0           block2a_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2a_se_reshape_b (Reshape)  (None, 1, 1, 144)    0           block2a_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2a_se_reduce_a (Conv2D)    (None, 1, 1, 6)      870         block2a_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2a_se_reduce_b (Conv2D)    (None, 1, 1, 6)      870         block2a_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2a_se_expand_a (Conv2D)    (None, 1, 1, 144)    1008        block2a_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2a_se_expand_b (Conv2D)    (None, 1, 1, 144)    1008        block2a_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2a_se_excite_a (Multiply)  (None, 114, 114, 144 0           block2a_activation_a[0][0]       \n",
      "                                                                 block2a_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2a_se_excite_b (Multiply)  (None, 29, 29, 144)  0           block2a_activation_b[0][0]       \n",
      "                                                                 block2a_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2a_project_conv_a (Conv2D) (None, 114, 114, 40) 5760        block2a_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2a_project_conv_b (Conv2D) (None, 29, 29, 40)   5760        block2a_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2a_project_bn_a (BatchNorm (None, 114, 114, 40) 160         block2a_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block2a_project_bn_b (BatchNorm (None, 29, 29, 40)   160         block2a_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block2b_expand_conv_a (Conv2D)  (None, 114, 114, 240 9600        block2a_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2b_expand_conv_b (Conv2D)  (None, 29, 29, 240)  9600        block2a_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2b_expand_bn_a (BatchNorma (None, 114, 114, 240 960         block2b_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block2b_expand_bn_b (BatchNorma (None, 29, 29, 240)  960         block2b_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block2b_expand_activation_a (Ac (None, 114, 114, 240 0           block2b_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2b_expand_activation_b (Ac (None, 29, 29, 240)  0           block2b_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2b_dwconv_a (DepthwiseConv (None, 114, 114, 240 2160        block2b_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block2b_dwconv_b (DepthwiseConv (None, 29, 29, 240)  2160        block2b_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block2b_bn_a (BatchNormalizatio (None, 114, 114, 240 960         block2b_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block2b_bn_b (BatchNormalizatio (None, 29, 29, 240)  960         block2b_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block2b_activation_a (Activatio (None, 114, 114, 240 0           block2b_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block2b_activation_b (Activatio (None, 29, 29, 240)  0           block2b_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block2b_se_squeeze_a (GlobalAve (None, 240)          0           block2b_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2b_se_squeeze_b (GlobalAve (None, 240)          0           block2b_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2b_se_reshape_a (Reshape)  (None, 1, 1, 240)    0           block2b_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2b_se_reshape_b (Reshape)  (None, 1, 1, 240)    0           block2b_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2b_se_reduce_a (Conv2D)    (None, 1, 1, 10)     2410        block2b_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2b_se_reduce_b (Conv2D)    (None, 1, 1, 10)     2410        block2b_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2b_se_expand_a (Conv2D)    (None, 1, 1, 240)    2640        block2b_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2b_se_expand_b (Conv2D)    (None, 1, 1, 240)    2640        block2b_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2b_se_excite_a (Multiply)  (None, 114, 114, 240 0           block2b_activation_a[0][0]       \n",
      "                                                                 block2b_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2b_se_excite_b (Multiply)  (None, 29, 29, 240)  0           block2b_activation_b[0][0]       \n",
      "                                                                 block2b_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2b_project_conv_a (Conv2D) (None, 114, 114, 40) 9600        block2b_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2b_project_conv_b (Conv2D) (None, 29, 29, 40)   9600        block2b_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2b_project_bn_a (BatchNorm (None, 114, 114, 40) 160         block2b_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block2b_project_bn_b (BatchNorm (None, 29, 29, 40)   160         block2b_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block2b_drop_a (FixedDropout)   (None, 114, 114, 40) 0           block2b_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2b_drop_b (FixedDropout)   (None, 29, 29, 40)   0           block2b_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2b_add_a (Add)             (None, 114, 114, 40) 0           block2b_drop_a[0][0]             \n",
      "                                                                 block2a_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2b_add_b (Add)             (None, 29, 29, 40)   0           block2b_drop_b[0][0]             \n",
      "                                                                 block2a_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2c_expand_conv_a (Conv2D)  (None, 114, 114, 240 9600        block2b_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block2c_expand_conv_b (Conv2D)  (None, 29, 29, 240)  9600        block2b_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block2c_expand_bn_a (BatchNorma (None, 114, 114, 240 960         block2c_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block2c_expand_bn_b (BatchNorma (None, 29, 29, 240)  960         block2c_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block2c_expand_activation_a (Ac (None, 114, 114, 240 0           block2c_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2c_expand_activation_b (Ac (None, 29, 29, 240)  0           block2c_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2c_dwconv_a (DepthwiseConv (None, 114, 114, 240 2160        block2c_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block2c_dwconv_b (DepthwiseConv (None, 29, 29, 240)  2160        block2c_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block2c_bn_a (BatchNormalizatio (None, 114, 114, 240 960         block2c_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block2c_bn_b (BatchNormalizatio (None, 29, 29, 240)  960         block2c_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block2c_activation_a (Activatio (None, 114, 114, 240 0           block2c_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block2c_activation_b (Activatio (None, 29, 29, 240)  0           block2c_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block2c_se_squeeze_a (GlobalAve (None, 240)          0           block2c_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2c_se_squeeze_b (GlobalAve (None, 240)          0           block2c_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2c_se_reshape_a (Reshape)  (None, 1, 1, 240)    0           block2c_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2c_se_reshape_b (Reshape)  (None, 1, 1, 240)    0           block2c_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2c_se_reduce_a (Conv2D)    (None, 1, 1, 10)     2410        block2c_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2c_se_reduce_b (Conv2D)    (None, 1, 1, 10)     2410        block2c_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2c_se_expand_a (Conv2D)    (None, 1, 1, 240)    2640        block2c_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2c_se_expand_b (Conv2D)    (None, 1, 1, 240)    2640        block2c_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2c_se_excite_a (Multiply)  (None, 114, 114, 240 0           block2c_activation_a[0][0]       \n",
      "                                                                 block2c_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2c_se_excite_b (Multiply)  (None, 29, 29, 240)  0           block2c_activation_b[0][0]       \n",
      "                                                                 block2c_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2c_project_conv_a (Conv2D) (None, 114, 114, 40) 9600        block2c_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2c_project_conv_b (Conv2D) (None, 29, 29, 40)   9600        block2c_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2c_project_bn_a (BatchNorm (None, 114, 114, 40) 160         block2c_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block2c_project_bn_b (BatchNorm (None, 29, 29, 40)   160         block2c_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block2c_drop_a (FixedDropout)   (None, 114, 114, 40) 0           block2c_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2c_drop_b (FixedDropout)   (None, 29, 29, 40)   0           block2c_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2c_add_a (Add)             (None, 114, 114, 40) 0           block2c_drop_a[0][0]             \n",
      "                                                                 block2b_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block2c_add_b (Add)             (None, 29, 29, 40)   0           block2c_drop_b[0][0]             \n",
      "                                                                 block2b_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block2d_expand_conv_a (Conv2D)  (None, 114, 114, 240 9600        block2c_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block2d_expand_conv_b (Conv2D)  (None, 29, 29, 240)  9600        block2c_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block2d_expand_bn_a (BatchNorma (None, 114, 114, 240 960         block2d_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block2d_expand_bn_b (BatchNorma (None, 29, 29, 240)  960         block2d_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block2d_expand_activation_a (Ac (None, 114, 114, 240 0           block2d_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2d_expand_activation_b (Ac (None, 29, 29, 240)  0           block2d_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2d_dwconv_a (DepthwiseConv (None, 114, 114, 240 2160        block2d_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block2d_dwconv_b (DepthwiseConv (None, 29, 29, 240)  2160        block2d_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block2d_bn_a (BatchNormalizatio (None, 114, 114, 240 960         block2d_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block2d_bn_b (BatchNormalizatio (None, 29, 29, 240)  960         block2d_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block2d_activation_a (Activatio (None, 114, 114, 240 0           block2d_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block2d_activation_b (Activatio (None, 29, 29, 240)  0           block2d_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block2d_se_squeeze_a (GlobalAve (None, 240)          0           block2d_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2d_se_squeeze_b (GlobalAve (None, 240)          0           block2d_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2d_se_reshape_a (Reshape)  (None, 1, 1, 240)    0           block2d_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2d_se_reshape_b (Reshape)  (None, 1, 1, 240)    0           block2d_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2d_se_reduce_a (Conv2D)    (None, 1, 1, 10)     2410        block2d_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2d_se_reduce_b (Conv2D)    (None, 1, 1, 10)     2410        block2d_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2d_se_expand_a (Conv2D)    (None, 1, 1, 240)    2640        block2d_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2d_se_expand_b (Conv2D)    (None, 1, 1, 240)    2640        block2d_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2d_se_excite_a (Multiply)  (None, 114, 114, 240 0           block2d_activation_a[0][0]       \n",
      "                                                                 block2d_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2d_se_excite_b (Multiply)  (None, 29, 29, 240)  0           block2d_activation_b[0][0]       \n",
      "                                                                 block2d_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2d_project_conv_a (Conv2D) (None, 114, 114, 40) 9600        block2d_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2d_project_conv_b (Conv2D) (None, 29, 29, 40)   9600        block2d_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2d_project_bn_a (BatchNorm (None, 114, 114, 40) 160         block2d_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block2d_project_bn_b (BatchNorm (None, 29, 29, 40)   160         block2d_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block2d_drop_a (FixedDropout)   (None, 114, 114, 40) 0           block2d_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2d_drop_b (FixedDropout)   (None, 29, 29, 40)   0           block2d_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2d_add_a (Add)             (None, 114, 114, 40) 0           block2d_drop_a[0][0]             \n",
      "                                                                 block2c_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block2d_add_b (Add)             (None, 29, 29, 40)   0           block2d_drop_b[0][0]             \n",
      "                                                                 block2c_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block2e_expand_conv_a (Conv2D)  (None, 114, 114, 240 9600        block2d_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block2e_expand_conv_b (Conv2D)  (None, 29, 29, 240)  9600        block2d_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block2e_expand_bn_a (BatchNorma (None, 114, 114, 240 960         block2e_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block2e_expand_bn_b (BatchNorma (None, 29, 29, 240)  960         block2e_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block2e_expand_activation_a (Ac (None, 114, 114, 240 0           block2e_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2e_expand_activation_b (Ac (None, 29, 29, 240)  0           block2e_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2e_dwconv_a (DepthwiseConv (None, 114, 114, 240 2160        block2e_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block2e_dwconv_b (DepthwiseConv (None, 29, 29, 240)  2160        block2e_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block2e_bn_a (BatchNormalizatio (None, 114, 114, 240 960         block2e_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block2e_bn_b (BatchNormalizatio (None, 29, 29, 240)  960         block2e_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block2e_activation_a (Activatio (None, 114, 114, 240 0           block2e_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block2e_activation_b (Activatio (None, 29, 29, 240)  0           block2e_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block2e_se_squeeze_a (GlobalAve (None, 240)          0           block2e_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2e_se_squeeze_b (GlobalAve (None, 240)          0           block2e_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2e_se_reshape_a (Reshape)  (None, 1, 1, 240)    0           block2e_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2e_se_reshape_b (Reshape)  (None, 1, 1, 240)    0           block2e_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2e_se_reduce_a (Conv2D)    (None, 1, 1, 10)     2410        block2e_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2e_se_reduce_b (Conv2D)    (None, 1, 1, 10)     2410        block2e_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2e_se_expand_a (Conv2D)    (None, 1, 1, 240)    2640        block2e_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2e_se_expand_b (Conv2D)    (None, 1, 1, 240)    2640        block2e_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2e_se_excite_a (Multiply)  (None, 114, 114, 240 0           block2e_activation_a[0][0]       \n",
      "                                                                 block2e_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2e_se_excite_b (Multiply)  (None, 29, 29, 240)  0           block2e_activation_b[0][0]       \n",
      "                                                                 block2e_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2e_project_conv_a (Conv2D) (None, 114, 114, 40) 9600        block2e_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2e_project_conv_b (Conv2D) (None, 29, 29, 40)   9600        block2e_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block2e_project_bn_a (BatchNorm (None, 114, 114, 40) 160         block2e_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block2e_project_bn_b (BatchNorm (None, 29, 29, 40)   160         block2e_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block2e_drop_a (FixedDropout)   (None, 114, 114, 40) 0           block2e_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2e_drop_b (FixedDropout)   (None, 29, 29, 40)   0           block2e_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block2e_add_a (Add)             (None, 114, 114, 40) 0           block2e_drop_a[0][0]             \n",
      "                                                                 block2d_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block2e_add_b (Add)             (None, 29, 29, 40)   0           block2e_drop_b[0][0]             \n",
      "                                                                 block2d_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block3a_expand_conv_a (Conv2D)  (None, 114, 114, 240 9600        block2e_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block3a_expand_conv_b (Conv2D)  (None, 29, 29, 240)  9600        block2e_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block3a_expand_bn_a (BatchNorma (None, 114, 114, 240 960         block3a_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block3a_expand_bn_b (BatchNorma (None, 29, 29, 240)  960         block3a_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block3a_expand_activation_a (Ac (None, 114, 114, 240 0           block3a_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3a_expand_activation_b (Ac (None, 29, 29, 240)  0           block3a_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3a_dwconv_a (DepthwiseConv (None, 57, 57, 240)  6000        block3a_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block3a_dwconv_b (DepthwiseConv (None, 15, 15, 240)  6000        block3a_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block3a_bn_a (BatchNormalizatio (None, 57, 57, 240)  960         block3a_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block3a_bn_b (BatchNormalizatio (None, 15, 15, 240)  960         block3a_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block3a_activation_a (Activatio (None, 57, 57, 240)  0           block3a_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block3a_activation_b (Activatio (None, 15, 15, 240)  0           block3a_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block3a_se_squeeze_a (GlobalAve (None, 240)          0           block3a_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3a_se_squeeze_b (GlobalAve (None, 240)          0           block3a_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3a_se_reshape_a (Reshape)  (None, 1, 1, 240)    0           block3a_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3a_se_reshape_b (Reshape)  (None, 1, 1, 240)    0           block3a_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3a_se_reduce_a (Conv2D)    (None, 1, 1, 10)     2410        block3a_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3a_se_reduce_b (Conv2D)    (None, 1, 1, 10)     2410        block3a_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3a_se_expand_a (Conv2D)    (None, 1, 1, 240)    2640        block3a_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3a_se_expand_b (Conv2D)    (None, 1, 1, 240)    2640        block3a_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3a_se_excite_a (Multiply)  (None, 57, 57, 240)  0           block3a_activation_a[0][0]       \n",
      "                                                                 block3a_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3a_se_excite_b (Multiply)  (None, 15, 15, 240)  0           block3a_activation_b[0][0]       \n",
      "                                                                 block3a_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3a_project_conv_a (Conv2D) (None, 57, 57, 64)   15360       block3a_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3a_project_conv_b (Conv2D) (None, 15, 15, 64)   15360       block3a_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3a_project_bn_a (BatchNorm (None, 57, 57, 64)   256         block3a_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block3a_project_bn_b (BatchNorm (None, 15, 15, 64)   256         block3a_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block3b_expand_conv_a (Conv2D)  (None, 57, 57, 384)  24576       block3a_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3b_expand_conv_b (Conv2D)  (None, 15, 15, 384)  24576       block3a_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3b_expand_bn_a (BatchNorma (None, 57, 57, 384)  1536        block3b_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block3b_expand_bn_b (BatchNorma (None, 15, 15, 384)  1536        block3b_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block3b_expand_activation_a (Ac (None, 57, 57, 384)  0           block3b_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3b_expand_activation_b (Ac (None, 15, 15, 384)  0           block3b_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3b_dwconv_a (DepthwiseConv (None, 57, 57, 384)  9600        block3b_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block3b_dwconv_b (DepthwiseConv (None, 15, 15, 384)  9600        block3b_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block3b_bn_a (BatchNormalizatio (None, 57, 57, 384)  1536        block3b_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block3b_bn_b (BatchNormalizatio (None, 15, 15, 384)  1536        block3b_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block3b_activation_a (Activatio (None, 57, 57, 384)  0           block3b_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block3b_activation_b (Activatio (None, 15, 15, 384)  0           block3b_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block3b_se_squeeze_a (GlobalAve (None, 384)          0           block3b_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3b_se_squeeze_b (GlobalAve (None, 384)          0           block3b_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3b_se_reshape_a (Reshape)  (None, 1, 1, 384)    0           block3b_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3b_se_reshape_b (Reshape)  (None, 1, 1, 384)    0           block3b_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3b_se_reduce_a (Conv2D)    (None, 1, 1, 16)     6160        block3b_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3b_se_reduce_b (Conv2D)    (None, 1, 1, 16)     6160        block3b_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3b_se_expand_a (Conv2D)    (None, 1, 1, 384)    6528        block3b_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3b_se_expand_b (Conv2D)    (None, 1, 1, 384)    6528        block3b_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3b_se_excite_a (Multiply)  (None, 57, 57, 384)  0           block3b_activation_a[0][0]       \n",
      "                                                                 block3b_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3b_se_excite_b (Multiply)  (None, 15, 15, 384)  0           block3b_activation_b[0][0]       \n",
      "                                                                 block3b_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3b_project_conv_a (Conv2D) (None, 57, 57, 64)   24576       block3b_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3b_project_conv_b (Conv2D) (None, 15, 15, 64)   24576       block3b_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3b_project_bn_a (BatchNorm (None, 57, 57, 64)   256         block3b_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block3b_project_bn_b (BatchNorm (None, 15, 15, 64)   256         block3b_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block3b_drop_a (FixedDropout)   (None, 57, 57, 64)   0           block3b_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3b_drop_b (FixedDropout)   (None, 15, 15, 64)   0           block3b_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3b_add_a (Add)             (None, 57, 57, 64)   0           block3b_drop_a[0][0]             \n",
      "                                                                 block3a_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3b_add_b (Add)             (None, 15, 15, 64)   0           block3b_drop_b[0][0]             \n",
      "                                                                 block3a_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3c_expand_conv_a (Conv2D)  (None, 57, 57, 384)  24576       block3b_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block3c_expand_conv_b (Conv2D)  (None, 15, 15, 384)  24576       block3b_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block3c_expand_bn_a (BatchNorma (None, 57, 57, 384)  1536        block3c_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block3c_expand_bn_b (BatchNorma (None, 15, 15, 384)  1536        block3c_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block3c_expand_activation_a (Ac (None, 57, 57, 384)  0           block3c_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3c_expand_activation_b (Ac (None, 15, 15, 384)  0           block3c_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3c_dwconv_a (DepthwiseConv (None, 57, 57, 384)  9600        block3c_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block3c_dwconv_b (DepthwiseConv (None, 15, 15, 384)  9600        block3c_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block3c_bn_a (BatchNormalizatio (None, 57, 57, 384)  1536        block3c_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block3c_bn_b (BatchNormalizatio (None, 15, 15, 384)  1536        block3c_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block3c_activation_a (Activatio (None, 57, 57, 384)  0           block3c_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block3c_activation_b (Activatio (None, 15, 15, 384)  0           block3c_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block3c_se_squeeze_a (GlobalAve (None, 384)          0           block3c_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3c_se_squeeze_b (GlobalAve (None, 384)          0           block3c_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3c_se_reshape_a (Reshape)  (None, 1, 1, 384)    0           block3c_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3c_se_reshape_b (Reshape)  (None, 1, 1, 384)    0           block3c_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3c_se_reduce_a (Conv2D)    (None, 1, 1, 16)     6160        block3c_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3c_se_reduce_b (Conv2D)    (None, 1, 1, 16)     6160        block3c_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3c_se_expand_a (Conv2D)    (None, 1, 1, 384)    6528        block3c_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3c_se_expand_b (Conv2D)    (None, 1, 1, 384)    6528        block3c_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3c_se_excite_a (Multiply)  (None, 57, 57, 384)  0           block3c_activation_a[0][0]       \n",
      "                                                                 block3c_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3c_se_excite_b (Multiply)  (None, 15, 15, 384)  0           block3c_activation_b[0][0]       \n",
      "                                                                 block3c_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3c_project_conv_a (Conv2D) (None, 57, 57, 64)   24576       block3c_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3c_project_conv_b (Conv2D) (None, 15, 15, 64)   24576       block3c_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3c_project_bn_a (BatchNorm (None, 57, 57, 64)   256         block3c_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block3c_project_bn_b (BatchNorm (None, 15, 15, 64)   256         block3c_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block3c_drop_a (FixedDropout)   (None, 57, 57, 64)   0           block3c_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3c_drop_b (FixedDropout)   (None, 15, 15, 64)   0           block3c_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3c_add_a (Add)             (None, 57, 57, 64)   0           block3c_drop_a[0][0]             \n",
      "                                                                 block3b_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block3c_add_b (Add)             (None, 15, 15, 64)   0           block3c_drop_b[0][0]             \n",
      "                                                                 block3b_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block3d_expand_conv_a (Conv2D)  (None, 57, 57, 384)  24576       block3c_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block3d_expand_conv_b (Conv2D)  (None, 15, 15, 384)  24576       block3c_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block3d_expand_bn_a (BatchNorma (None, 57, 57, 384)  1536        block3d_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block3d_expand_bn_b (BatchNorma (None, 15, 15, 384)  1536        block3d_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block3d_expand_activation_a (Ac (None, 57, 57, 384)  0           block3d_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3d_expand_activation_b (Ac (None, 15, 15, 384)  0           block3d_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3d_dwconv_a (DepthwiseConv (None, 57, 57, 384)  9600        block3d_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block3d_dwconv_b (DepthwiseConv (None, 15, 15, 384)  9600        block3d_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block3d_bn_a (BatchNormalizatio (None, 57, 57, 384)  1536        block3d_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block3d_bn_b (BatchNormalizatio (None, 15, 15, 384)  1536        block3d_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block3d_activation_a (Activatio (None, 57, 57, 384)  0           block3d_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block3d_activation_b (Activatio (None, 15, 15, 384)  0           block3d_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block3d_se_squeeze_a (GlobalAve (None, 384)          0           block3d_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3d_se_squeeze_b (GlobalAve (None, 384)          0           block3d_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3d_se_reshape_a (Reshape)  (None, 1, 1, 384)    0           block3d_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3d_se_reshape_b (Reshape)  (None, 1, 1, 384)    0           block3d_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3d_se_reduce_a (Conv2D)    (None, 1, 1, 16)     6160        block3d_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3d_se_reduce_b (Conv2D)    (None, 1, 1, 16)     6160        block3d_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3d_se_expand_a (Conv2D)    (None, 1, 1, 384)    6528        block3d_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3d_se_expand_b (Conv2D)    (None, 1, 1, 384)    6528        block3d_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3d_se_excite_a (Multiply)  (None, 57, 57, 384)  0           block3d_activation_a[0][0]       \n",
      "                                                                 block3d_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3d_se_excite_b (Multiply)  (None, 15, 15, 384)  0           block3d_activation_b[0][0]       \n",
      "                                                                 block3d_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3d_project_conv_a (Conv2D) (None, 57, 57, 64)   24576       block3d_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3d_project_conv_b (Conv2D) (None, 15, 15, 64)   24576       block3d_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3d_project_bn_a (BatchNorm (None, 57, 57, 64)   256         block3d_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block3d_project_bn_b (BatchNorm (None, 15, 15, 64)   256         block3d_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block3d_drop_a (FixedDropout)   (None, 57, 57, 64)   0           block3d_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3d_drop_b (FixedDropout)   (None, 15, 15, 64)   0           block3d_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3d_add_a (Add)             (None, 57, 57, 64)   0           block3d_drop_a[0][0]             \n",
      "                                                                 block3c_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block3d_add_b (Add)             (None, 15, 15, 64)   0           block3d_drop_b[0][0]             \n",
      "                                                                 block3c_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block3e_expand_conv_a (Conv2D)  (None, 57, 57, 384)  24576       block3d_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block3e_expand_conv_b (Conv2D)  (None, 15, 15, 384)  24576       block3d_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block3e_expand_bn_a (BatchNorma (None, 57, 57, 384)  1536        block3e_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block3e_expand_bn_b (BatchNorma (None, 15, 15, 384)  1536        block3e_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block3e_expand_activation_a (Ac (None, 57, 57, 384)  0           block3e_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3e_expand_activation_b (Ac (None, 15, 15, 384)  0           block3e_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3e_dwconv_a (DepthwiseConv (None, 57, 57, 384)  9600        block3e_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block3e_dwconv_b (DepthwiseConv (None, 15, 15, 384)  9600        block3e_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block3e_bn_a (BatchNormalizatio (None, 57, 57, 384)  1536        block3e_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block3e_bn_b (BatchNormalizatio (None, 15, 15, 384)  1536        block3e_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block3e_activation_a (Activatio (None, 57, 57, 384)  0           block3e_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block3e_activation_b (Activatio (None, 15, 15, 384)  0           block3e_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block3e_se_squeeze_a (GlobalAve (None, 384)          0           block3e_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3e_se_squeeze_b (GlobalAve (None, 384)          0           block3e_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3e_se_reshape_a (Reshape)  (None, 1, 1, 384)    0           block3e_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3e_se_reshape_b (Reshape)  (None, 1, 1, 384)    0           block3e_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3e_se_reduce_a (Conv2D)    (None, 1, 1, 16)     6160        block3e_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3e_se_reduce_b (Conv2D)    (None, 1, 1, 16)     6160        block3e_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3e_se_expand_a (Conv2D)    (None, 1, 1, 384)    6528        block3e_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3e_se_expand_b (Conv2D)    (None, 1, 1, 384)    6528        block3e_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3e_se_excite_a (Multiply)  (None, 57, 57, 384)  0           block3e_activation_a[0][0]       \n",
      "                                                                 block3e_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3e_se_excite_b (Multiply)  (None, 15, 15, 384)  0           block3e_activation_b[0][0]       \n",
      "                                                                 block3e_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3e_project_conv_a (Conv2D) (None, 57, 57, 64)   24576       block3e_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3e_project_conv_b (Conv2D) (None, 15, 15, 64)   24576       block3e_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block3e_project_bn_a (BatchNorm (None, 57, 57, 64)   256         block3e_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block3e_project_bn_b (BatchNorm (None, 15, 15, 64)   256         block3e_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block3e_drop_a (FixedDropout)   (None, 57, 57, 64)   0           block3e_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3e_drop_b (FixedDropout)   (None, 15, 15, 64)   0           block3e_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block3e_add_a (Add)             (None, 57, 57, 64)   0           block3e_drop_a[0][0]             \n",
      "                                                                 block3d_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block3e_add_b (Add)             (None, 15, 15, 64)   0           block3e_drop_b[0][0]             \n",
      "                                                                 block3d_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4a_expand_conv_a (Conv2D)  (None, 57, 57, 384)  24576       block3e_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4a_expand_conv_b (Conv2D)  (None, 15, 15, 384)  24576       block3e_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4a_expand_bn_a (BatchNorma (None, 57, 57, 384)  1536        block4a_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block4a_expand_bn_b (BatchNorma (None, 15, 15, 384)  1536        block4a_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block4a_expand_activation_a (Ac (None, 57, 57, 384)  0           block4a_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4a_expand_activation_b (Ac (None, 15, 15, 384)  0           block4a_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4a_dwconv_a (DepthwiseConv (None, 29, 29, 384)  3456        block4a_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block4a_dwconv_b (DepthwiseConv (None, 8, 8, 384)    3456        block4a_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block4a_bn_a (BatchNormalizatio (None, 29, 29, 384)  1536        block4a_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block4a_bn_b (BatchNormalizatio (None, 8, 8, 384)    1536        block4a_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block4a_activation_a (Activatio (None, 29, 29, 384)  0           block4a_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block4a_activation_b (Activatio (None, 8, 8, 384)    0           block4a_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block4a_se_squeeze_a (GlobalAve (None, 384)          0           block4a_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4a_se_squeeze_b (GlobalAve (None, 384)          0           block4a_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4a_se_reshape_a (Reshape)  (None, 1, 1, 384)    0           block4a_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4a_se_reshape_b (Reshape)  (None, 1, 1, 384)    0           block4a_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4a_se_reduce_a (Conv2D)    (None, 1, 1, 16)     6160        block4a_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4a_se_reduce_b (Conv2D)    (None, 1, 1, 16)     6160        block4a_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4a_se_expand_a (Conv2D)    (None, 1, 1, 384)    6528        block4a_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4a_se_expand_b (Conv2D)    (None, 1, 1, 384)    6528        block4a_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4a_se_excite_a (Multiply)  (None, 29, 29, 384)  0           block4a_activation_a[0][0]       \n",
      "                                                                 block4a_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4a_se_excite_b (Multiply)  (None, 8, 8, 384)    0           block4a_activation_b[0][0]       \n",
      "                                                                 block4a_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4a_project_conv_a (Conv2D) (None, 29, 29, 128)  49152       block4a_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4a_project_conv_b (Conv2D) (None, 8, 8, 128)    49152       block4a_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4a_project_bn_a (BatchNorm (None, 29, 29, 128)  512         block4a_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block4a_project_bn_b (BatchNorm (None, 8, 8, 128)    512         block4a_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block4b_expand_conv_a (Conv2D)  (None, 29, 29, 768)  98304       block4a_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4b_expand_conv_b (Conv2D)  (None, 8, 8, 768)    98304       block4a_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4b_expand_bn_a (BatchNorma (None, 29, 29, 768)  3072        block4b_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block4b_expand_bn_b (BatchNorma (None, 8, 8, 768)    3072        block4b_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block4b_expand_activation_a (Ac (None, 29, 29, 768)  0           block4b_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4b_expand_activation_b (Ac (None, 8, 8, 768)    0           block4b_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4b_dwconv_a (DepthwiseConv (None, 29, 29, 768)  6912        block4b_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block4b_dwconv_b (DepthwiseConv (None, 8, 8, 768)    6912        block4b_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block4b_bn_a (BatchNormalizatio (None, 29, 29, 768)  3072        block4b_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block4b_bn_b (BatchNormalizatio (None, 8, 8, 768)    3072        block4b_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block4b_activation_a (Activatio (None, 29, 29, 768)  0           block4b_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block4b_activation_b (Activatio (None, 8, 8, 768)    0           block4b_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block4b_se_squeeze_a (GlobalAve (None, 768)          0           block4b_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4b_se_squeeze_b (GlobalAve (None, 768)          0           block4b_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4b_se_reshape_a (Reshape)  (None, 1, 1, 768)    0           block4b_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4b_se_reshape_b (Reshape)  (None, 1, 1, 768)    0           block4b_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4b_se_reduce_a (Conv2D)    (None, 1, 1, 32)     24608       block4b_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4b_se_reduce_b (Conv2D)    (None, 1, 1, 32)     24608       block4b_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4b_se_expand_a (Conv2D)    (None, 1, 1, 768)    25344       block4b_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4b_se_expand_b (Conv2D)    (None, 1, 1, 768)    25344       block4b_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4b_se_excite_a (Multiply)  (None, 29, 29, 768)  0           block4b_activation_a[0][0]       \n",
      "                                                                 block4b_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4b_se_excite_b (Multiply)  (None, 8, 8, 768)    0           block4b_activation_b[0][0]       \n",
      "                                                                 block4b_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4b_project_conv_a (Conv2D) (None, 29, 29, 128)  98304       block4b_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4b_project_conv_b (Conv2D) (None, 8, 8, 128)    98304       block4b_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4b_project_bn_a (BatchNorm (None, 29, 29, 128)  512         block4b_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block4b_project_bn_b (BatchNorm (None, 8, 8, 128)    512         block4b_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block4b_drop_a (FixedDropout)   (None, 29, 29, 128)  0           block4b_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4b_drop_b (FixedDropout)   (None, 8, 8, 128)    0           block4b_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4b_add_a (Add)             (None, 29, 29, 128)  0           block4b_drop_a[0][0]             \n",
      "                                                                 block4a_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4b_add_b (Add)             (None, 8, 8, 128)    0           block4b_drop_b[0][0]             \n",
      "                                                                 block4a_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4c_expand_conv_a (Conv2D)  (None, 29, 29, 768)  98304       block4b_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4c_expand_conv_b (Conv2D)  (None, 8, 8, 768)    98304       block4b_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4c_expand_bn_a (BatchNorma (None, 29, 29, 768)  3072        block4c_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block4c_expand_bn_b (BatchNorma (None, 8, 8, 768)    3072        block4c_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block4c_expand_activation_a (Ac (None, 29, 29, 768)  0           block4c_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4c_expand_activation_b (Ac (None, 8, 8, 768)    0           block4c_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4c_dwconv_a (DepthwiseConv (None, 29, 29, 768)  6912        block4c_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block4c_dwconv_b (DepthwiseConv (None, 8, 8, 768)    6912        block4c_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block4c_bn_a (BatchNormalizatio (None, 29, 29, 768)  3072        block4c_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block4c_bn_b (BatchNormalizatio (None, 8, 8, 768)    3072        block4c_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block4c_activation_a (Activatio (None, 29, 29, 768)  0           block4c_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block4c_activation_b (Activatio (None, 8, 8, 768)    0           block4c_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block4c_se_squeeze_a (GlobalAve (None, 768)          0           block4c_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4c_se_squeeze_b (GlobalAve (None, 768)          0           block4c_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4c_se_reshape_a (Reshape)  (None, 1, 1, 768)    0           block4c_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4c_se_reshape_b (Reshape)  (None, 1, 1, 768)    0           block4c_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4c_se_reduce_a (Conv2D)    (None, 1, 1, 32)     24608       block4c_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4c_se_reduce_b (Conv2D)    (None, 1, 1, 32)     24608       block4c_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4c_se_expand_a (Conv2D)    (None, 1, 1, 768)    25344       block4c_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4c_se_expand_b (Conv2D)    (None, 1, 1, 768)    25344       block4c_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4c_se_excite_a (Multiply)  (None, 29, 29, 768)  0           block4c_activation_a[0][0]       \n",
      "                                                                 block4c_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4c_se_excite_b (Multiply)  (None, 8, 8, 768)    0           block4c_activation_b[0][0]       \n",
      "                                                                 block4c_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4c_project_conv_a (Conv2D) (None, 29, 29, 128)  98304       block4c_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4c_project_conv_b (Conv2D) (None, 8, 8, 128)    98304       block4c_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4c_project_bn_a (BatchNorm (None, 29, 29, 128)  512         block4c_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block4c_project_bn_b (BatchNorm (None, 8, 8, 128)    512         block4c_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block4c_drop_a (FixedDropout)   (None, 29, 29, 128)  0           block4c_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4c_drop_b (FixedDropout)   (None, 8, 8, 128)    0           block4c_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4c_add_a (Add)             (None, 29, 29, 128)  0           block4c_drop_a[0][0]             \n",
      "                                                                 block4b_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4c_add_b (Add)             (None, 8, 8, 128)    0           block4c_drop_b[0][0]             \n",
      "                                                                 block4b_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4d_expand_conv_a (Conv2D)  (None, 29, 29, 768)  98304       block4c_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4d_expand_conv_b (Conv2D)  (None, 8, 8, 768)    98304       block4c_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4d_expand_bn_a (BatchNorma (None, 29, 29, 768)  3072        block4d_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block4d_expand_bn_b (BatchNorma (None, 8, 8, 768)    3072        block4d_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block4d_expand_activation_a (Ac (None, 29, 29, 768)  0           block4d_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4d_expand_activation_b (Ac (None, 8, 8, 768)    0           block4d_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4d_dwconv_a (DepthwiseConv (None, 29, 29, 768)  6912        block4d_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block4d_dwconv_b (DepthwiseConv (None, 8, 8, 768)    6912        block4d_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block4d_bn_a (BatchNormalizatio (None, 29, 29, 768)  3072        block4d_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block4d_bn_b (BatchNormalizatio (None, 8, 8, 768)    3072        block4d_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block4d_activation_a (Activatio (None, 29, 29, 768)  0           block4d_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block4d_activation_b (Activatio (None, 8, 8, 768)    0           block4d_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block4d_se_squeeze_a (GlobalAve (None, 768)          0           block4d_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4d_se_squeeze_b (GlobalAve (None, 768)          0           block4d_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4d_se_reshape_a (Reshape)  (None, 1, 1, 768)    0           block4d_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4d_se_reshape_b (Reshape)  (None, 1, 1, 768)    0           block4d_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4d_se_reduce_a (Conv2D)    (None, 1, 1, 32)     24608       block4d_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4d_se_reduce_b (Conv2D)    (None, 1, 1, 32)     24608       block4d_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4d_se_expand_a (Conv2D)    (None, 1, 1, 768)    25344       block4d_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4d_se_expand_b (Conv2D)    (None, 1, 1, 768)    25344       block4d_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4d_se_excite_a (Multiply)  (None, 29, 29, 768)  0           block4d_activation_a[0][0]       \n",
      "                                                                 block4d_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4d_se_excite_b (Multiply)  (None, 8, 8, 768)    0           block4d_activation_b[0][0]       \n",
      "                                                                 block4d_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4d_project_conv_a (Conv2D) (None, 29, 29, 128)  98304       block4d_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4d_project_conv_b (Conv2D) (None, 8, 8, 128)    98304       block4d_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4d_project_bn_a (BatchNorm (None, 29, 29, 128)  512         block4d_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block4d_project_bn_b (BatchNorm (None, 8, 8, 128)    512         block4d_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block4d_drop_a (FixedDropout)   (None, 29, 29, 128)  0           block4d_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4d_drop_b (FixedDropout)   (None, 8, 8, 128)    0           block4d_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4d_add_a (Add)             (None, 29, 29, 128)  0           block4d_drop_a[0][0]             \n",
      "                                                                 block4c_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4d_add_b (Add)             (None, 8, 8, 128)    0           block4d_drop_b[0][0]             \n",
      "                                                                 block4c_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4e_expand_conv_a (Conv2D)  (None, 29, 29, 768)  98304       block4d_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4e_expand_conv_b (Conv2D)  (None, 8, 8, 768)    98304       block4d_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4e_expand_bn_a (BatchNorma (None, 29, 29, 768)  3072        block4e_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block4e_expand_bn_b (BatchNorma (None, 8, 8, 768)    3072        block4e_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block4e_expand_activation_a (Ac (None, 29, 29, 768)  0           block4e_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4e_expand_activation_b (Ac (None, 8, 8, 768)    0           block4e_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4e_dwconv_a (DepthwiseConv (None, 29, 29, 768)  6912        block4e_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block4e_dwconv_b (DepthwiseConv (None, 8, 8, 768)    6912        block4e_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block4e_bn_a (BatchNormalizatio (None, 29, 29, 768)  3072        block4e_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block4e_bn_b (BatchNormalizatio (None, 8, 8, 768)    3072        block4e_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block4e_activation_a (Activatio (None, 29, 29, 768)  0           block4e_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block4e_activation_b (Activatio (None, 8, 8, 768)    0           block4e_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block4e_se_squeeze_a (GlobalAve (None, 768)          0           block4e_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4e_se_squeeze_b (GlobalAve (None, 768)          0           block4e_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4e_se_reshape_a (Reshape)  (None, 1, 1, 768)    0           block4e_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4e_se_reshape_b (Reshape)  (None, 1, 1, 768)    0           block4e_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4e_se_reduce_a (Conv2D)    (None, 1, 1, 32)     24608       block4e_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4e_se_reduce_b (Conv2D)    (None, 1, 1, 32)     24608       block4e_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4e_se_expand_a (Conv2D)    (None, 1, 1, 768)    25344       block4e_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4e_se_expand_b (Conv2D)    (None, 1, 1, 768)    25344       block4e_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4e_se_excite_a (Multiply)  (None, 29, 29, 768)  0           block4e_activation_a[0][0]       \n",
      "                                                                 block4e_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4e_se_excite_b (Multiply)  (None, 8, 8, 768)    0           block4e_activation_b[0][0]       \n",
      "                                                                 block4e_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4e_project_conv_a (Conv2D) (None, 29, 29, 128)  98304       block4e_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4e_project_conv_b (Conv2D) (None, 8, 8, 128)    98304       block4e_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4e_project_bn_a (BatchNorm (None, 29, 29, 128)  512         block4e_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block4e_project_bn_b (BatchNorm (None, 8, 8, 128)    512         block4e_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block4e_drop_a (FixedDropout)   (None, 29, 29, 128)  0           block4e_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4e_drop_b (FixedDropout)   (None, 8, 8, 128)    0           block4e_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4e_add_a (Add)             (None, 29, 29, 128)  0           block4e_drop_a[0][0]             \n",
      "                                                                 block4d_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4e_add_b (Add)             (None, 8, 8, 128)    0           block4e_drop_b[0][0]             \n",
      "                                                                 block4d_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4f_expand_conv_a (Conv2D)  (None, 29, 29, 768)  98304       block4e_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4f_expand_conv_b (Conv2D)  (None, 8, 8, 768)    98304       block4e_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4f_expand_bn_a (BatchNorma (None, 29, 29, 768)  3072        block4f_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block4f_expand_bn_b (BatchNorma (None, 8, 8, 768)    3072        block4f_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block4f_expand_activation_a (Ac (None, 29, 29, 768)  0           block4f_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4f_expand_activation_b (Ac (None, 8, 8, 768)    0           block4f_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4f_dwconv_a (DepthwiseConv (None, 29, 29, 768)  6912        block4f_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block4f_dwconv_b (DepthwiseConv (None, 8, 8, 768)    6912        block4f_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block4f_bn_a (BatchNormalizatio (None, 29, 29, 768)  3072        block4f_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block4f_bn_b (BatchNormalizatio (None, 8, 8, 768)    3072        block4f_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block4f_activation_a (Activatio (None, 29, 29, 768)  0           block4f_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block4f_activation_b (Activatio (None, 8, 8, 768)    0           block4f_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block4f_se_squeeze_a (GlobalAve (None, 768)          0           block4f_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4f_se_squeeze_b (GlobalAve (None, 768)          0           block4f_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4f_se_reshape_a (Reshape)  (None, 1, 1, 768)    0           block4f_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4f_se_reshape_b (Reshape)  (None, 1, 1, 768)    0           block4f_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4f_se_reduce_a (Conv2D)    (None, 1, 1, 32)     24608       block4f_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4f_se_reduce_b (Conv2D)    (None, 1, 1, 32)     24608       block4f_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4f_se_expand_a (Conv2D)    (None, 1, 1, 768)    25344       block4f_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4f_se_expand_b (Conv2D)    (None, 1, 1, 768)    25344       block4f_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4f_se_excite_a (Multiply)  (None, 29, 29, 768)  0           block4f_activation_a[0][0]       \n",
      "                                                                 block4f_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4f_se_excite_b (Multiply)  (None, 8, 8, 768)    0           block4f_activation_b[0][0]       \n",
      "                                                                 block4f_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4f_project_conv_a (Conv2D) (None, 29, 29, 128)  98304       block4f_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4f_project_conv_b (Conv2D) (None, 8, 8, 128)    98304       block4f_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4f_project_bn_a (BatchNorm (None, 29, 29, 128)  512         block4f_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block4f_project_bn_b (BatchNorm (None, 8, 8, 128)    512         block4f_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block4f_drop_a (FixedDropout)   (None, 29, 29, 128)  0           block4f_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4f_drop_b (FixedDropout)   (None, 8, 8, 128)    0           block4f_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4f_add_a (Add)             (None, 29, 29, 128)  0           block4f_drop_a[0][0]             \n",
      "                                                                 block4e_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4f_add_b (Add)             (None, 8, 8, 128)    0           block4f_drop_b[0][0]             \n",
      "                                                                 block4e_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4g_expand_conv_a (Conv2D)  (None, 29, 29, 768)  98304       block4f_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4g_expand_conv_b (Conv2D)  (None, 8, 8, 768)    98304       block4f_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4g_expand_bn_a (BatchNorma (None, 29, 29, 768)  3072        block4g_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block4g_expand_bn_b (BatchNorma (None, 8, 8, 768)    3072        block4g_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block4g_expand_activation_a (Ac (None, 29, 29, 768)  0           block4g_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4g_expand_activation_b (Ac (None, 8, 8, 768)    0           block4g_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4g_dwconv_a (DepthwiseConv (None, 29, 29, 768)  6912        block4g_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block4g_dwconv_b (DepthwiseConv (None, 8, 8, 768)    6912        block4g_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block4g_bn_a (BatchNormalizatio (None, 29, 29, 768)  3072        block4g_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block4g_bn_b (BatchNormalizatio (None, 8, 8, 768)    3072        block4g_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block4g_activation_a (Activatio (None, 29, 29, 768)  0           block4g_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block4g_activation_b (Activatio (None, 8, 8, 768)    0           block4g_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block4g_se_squeeze_a (GlobalAve (None, 768)          0           block4g_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4g_se_squeeze_b (GlobalAve (None, 768)          0           block4g_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4g_se_reshape_a (Reshape)  (None, 1, 1, 768)    0           block4g_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4g_se_reshape_b (Reshape)  (None, 1, 1, 768)    0           block4g_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4g_se_reduce_a (Conv2D)    (None, 1, 1, 32)     24608       block4g_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4g_se_reduce_b (Conv2D)    (None, 1, 1, 32)     24608       block4g_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4g_se_expand_a (Conv2D)    (None, 1, 1, 768)    25344       block4g_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4g_se_expand_b (Conv2D)    (None, 1, 1, 768)    25344       block4g_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4g_se_excite_a (Multiply)  (None, 29, 29, 768)  0           block4g_activation_a[0][0]       \n",
      "                                                                 block4g_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4g_se_excite_b (Multiply)  (None, 8, 8, 768)    0           block4g_activation_b[0][0]       \n",
      "                                                                 block4g_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4g_project_conv_a (Conv2D) (None, 29, 29, 128)  98304       block4g_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "block4g_project_conv_b (Conv2D) (None, 8, 8, 128)    98304       block4g_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block4g_project_bn_a (BatchNorm (None, 29, 29, 128)  512         block4g_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block4g_project_bn_b (BatchNorm (None, 8, 8, 128)    512         block4g_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block4g_drop_a (FixedDropout)   (None, 29, 29, 128)  0           block4g_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4g_drop_b (FixedDropout)   (None, 8, 8, 128)    0           block4g_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block4g_add_a (Add)             (None, 29, 29, 128)  0           block4g_drop_a[0][0]             \n",
      "                                                                 block4f_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block4g_add_b (Add)             (None, 8, 8, 128)    0           block4g_drop_b[0][0]             \n",
      "                                                                 block4f_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5a_expand_conv_a (Conv2D)  (None, 29, 29, 768)  98304       block4g_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5a_expand_conv_b (Conv2D)  (None, 8, 8, 768)    98304       block4g_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5a_expand_bn_a (BatchNorma (None, 29, 29, 768)  3072        block5a_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block5a_expand_bn_b (BatchNorma (None, 8, 8, 768)    3072        block5a_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block5a_expand_activation_a (Ac (None, 29, 29, 768)  0           block5a_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5a_expand_activation_b (Ac (None, 8, 8, 768)    0           block5a_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5a_dwconv_a (DepthwiseConv (None, 29, 29, 768)  19200       block5a_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block5a_dwconv_b (DepthwiseConv (None, 8, 8, 768)    19200       block5a_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block5a_bn_a (BatchNormalizatio (None, 29, 29, 768)  3072        block5a_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block5a_bn_b (BatchNormalizatio (None, 8, 8, 768)    3072        block5a_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block5a_activation_a (Activatio (None, 29, 29, 768)  0           block5a_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block5a_activation_b (Activatio (None, 8, 8, 768)    0           block5a_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block5a_se_squeeze_a (GlobalAve (None, 768)          0           block5a_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5a_se_squeeze_b (GlobalAve (None, 768)          0           block5a_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5a_se_reshape_a (Reshape)  (None, 1, 1, 768)    0           block5a_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5a_se_reshape_b (Reshape)  (None, 1, 1, 768)    0           block5a_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5a_se_reduce_a (Conv2D)    (None, 1, 1, 32)     24608       block5a_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5a_se_reduce_b (Conv2D)    (None, 1, 1, 32)     24608       block5a_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5a_se_expand_a (Conv2D)    (None, 1, 1, 768)    25344       block5a_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5a_se_expand_b (Conv2D)    (None, 1, 1, 768)    25344       block5a_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5a_se_excite_a (Multiply)  (None, 29, 29, 768)  0           block5a_activation_a[0][0]       \n",
      "                                                                 block5a_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5a_se_excite_b (Multiply)  (None, 8, 8, 768)    0           block5a_activation_b[0][0]       \n",
      "                                                                 block5a_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5a_project_conv_a (Conv2D) (None, 29, 29, 176)  135168      block5a_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5a_project_conv_b (Conv2D) (None, 8, 8, 176)    135168      block5a_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5a_project_bn_a (BatchNorm (None, 29, 29, 176)  704         block5a_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block5a_project_bn_b (BatchNorm (None, 8, 8, 176)    704         block5a_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block5b_expand_conv_a (Conv2D)  (None, 29, 29, 1056) 185856      block5a_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5b_expand_conv_b (Conv2D)  (None, 8, 8, 1056)   185856      block5a_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5b_expand_bn_a (BatchNorma (None, 29, 29, 1056) 4224        block5b_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block5b_expand_bn_b (BatchNorma (None, 8, 8, 1056)   4224        block5b_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block5b_expand_activation_a (Ac (None, 29, 29, 1056) 0           block5b_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5b_expand_activation_b (Ac (None, 8, 8, 1056)   0           block5b_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5b_dwconv_a (DepthwiseConv (None, 29, 29, 1056) 26400       block5b_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block5b_dwconv_b (DepthwiseConv (None, 8, 8, 1056)   26400       block5b_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block5b_bn_a (BatchNormalizatio (None, 29, 29, 1056) 4224        block5b_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block5b_bn_b (BatchNormalizatio (None, 8, 8, 1056)   4224        block5b_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block5b_activation_a (Activatio (None, 29, 29, 1056) 0           block5b_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block5b_activation_b (Activatio (None, 8, 8, 1056)   0           block5b_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block5b_se_squeeze_a (GlobalAve (None, 1056)         0           block5b_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5b_se_squeeze_b (GlobalAve (None, 1056)         0           block5b_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5b_se_reshape_a (Reshape)  (None, 1, 1, 1056)   0           block5b_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5b_se_reshape_b (Reshape)  (None, 1, 1, 1056)   0           block5b_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5b_se_reduce_a (Conv2D)    (None, 1, 1, 44)     46508       block5b_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5b_se_reduce_b (Conv2D)    (None, 1, 1, 44)     46508       block5b_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5b_se_expand_a (Conv2D)    (None, 1, 1, 1056)   47520       block5b_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5b_se_expand_b (Conv2D)    (None, 1, 1, 1056)   47520       block5b_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5b_se_excite_a (Multiply)  (None, 29, 29, 1056) 0           block5b_activation_a[0][0]       \n",
      "                                                                 block5b_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5b_se_excite_b (Multiply)  (None, 8, 8, 1056)   0           block5b_activation_b[0][0]       \n",
      "                                                                 block5b_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5b_project_conv_a (Conv2D) (None, 29, 29, 176)  185856      block5b_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5b_project_conv_b (Conv2D) (None, 8, 8, 176)    185856      block5b_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5b_project_bn_a (BatchNorm (None, 29, 29, 176)  704         block5b_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block5b_project_bn_b (BatchNorm (None, 8, 8, 176)    704         block5b_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block5b_drop_a (FixedDropout)   (None, 29, 29, 176)  0           block5b_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5b_drop_b (FixedDropout)   (None, 8, 8, 176)    0           block5b_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5b_add_a (Add)             (None, 29, 29, 176)  0           block5b_drop_a[0][0]             \n",
      "                                                                 block5a_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5b_add_b (Add)             (None, 8, 8, 176)    0           block5b_drop_b[0][0]             \n",
      "                                                                 block5a_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5c_expand_conv_a (Conv2D)  (None, 29, 29, 1056) 185856      block5b_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5c_expand_conv_b (Conv2D)  (None, 8, 8, 1056)   185856      block5b_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5c_expand_bn_a (BatchNorma (None, 29, 29, 1056) 4224        block5c_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block5c_expand_bn_b (BatchNorma (None, 8, 8, 1056)   4224        block5c_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block5c_expand_activation_a (Ac (None, 29, 29, 1056) 0           block5c_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5c_expand_activation_b (Ac (None, 8, 8, 1056)   0           block5c_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5c_dwconv_a (DepthwiseConv (None, 29, 29, 1056) 26400       block5c_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block5c_dwconv_b (DepthwiseConv (None, 8, 8, 1056)   26400       block5c_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block5c_bn_a (BatchNormalizatio (None, 29, 29, 1056) 4224        block5c_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block5c_bn_b (BatchNormalizatio (None, 8, 8, 1056)   4224        block5c_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block5c_activation_a (Activatio (None, 29, 29, 1056) 0           block5c_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block5c_activation_b (Activatio (None, 8, 8, 1056)   0           block5c_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block5c_se_squeeze_a (GlobalAve (None, 1056)         0           block5c_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5c_se_squeeze_b (GlobalAve (None, 1056)         0           block5c_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5c_se_reshape_a (Reshape)  (None, 1, 1, 1056)   0           block5c_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5c_se_reshape_b (Reshape)  (None, 1, 1, 1056)   0           block5c_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5c_se_reduce_a (Conv2D)    (None, 1, 1, 44)     46508       block5c_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5c_se_reduce_b (Conv2D)    (None, 1, 1, 44)     46508       block5c_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5c_se_expand_a (Conv2D)    (None, 1, 1, 1056)   47520       block5c_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5c_se_expand_b (Conv2D)    (None, 1, 1, 1056)   47520       block5c_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5c_se_excite_a (Multiply)  (None, 29, 29, 1056) 0           block5c_activation_a[0][0]       \n",
      "                                                                 block5c_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5c_se_excite_b (Multiply)  (None, 8, 8, 1056)   0           block5c_activation_b[0][0]       \n",
      "                                                                 block5c_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5c_project_conv_a (Conv2D) (None, 29, 29, 176)  185856      block5c_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5c_project_conv_b (Conv2D) (None, 8, 8, 176)    185856      block5c_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5c_project_bn_a (BatchNorm (None, 29, 29, 176)  704         block5c_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block5c_project_bn_b (BatchNorm (None, 8, 8, 176)    704         block5c_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block5c_drop_a (FixedDropout)   (None, 29, 29, 176)  0           block5c_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5c_drop_b (FixedDropout)   (None, 8, 8, 176)    0           block5c_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5c_add_a (Add)             (None, 29, 29, 176)  0           block5c_drop_a[0][0]             \n",
      "                                                                 block5b_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5c_add_b (Add)             (None, 8, 8, 176)    0           block5c_drop_b[0][0]             \n",
      "                                                                 block5b_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5d_expand_conv_a (Conv2D)  (None, 29, 29, 1056) 185856      block5c_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5d_expand_conv_b (Conv2D)  (None, 8, 8, 1056)   185856      block5c_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5d_expand_bn_a (BatchNorma (None, 29, 29, 1056) 4224        block5d_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block5d_expand_bn_b (BatchNorma (None, 8, 8, 1056)   4224        block5d_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block5d_expand_activation_a (Ac (None, 29, 29, 1056) 0           block5d_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5d_expand_activation_b (Ac (None, 8, 8, 1056)   0           block5d_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5d_dwconv_a (DepthwiseConv (None, 29, 29, 1056) 26400       block5d_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block5d_dwconv_b (DepthwiseConv (None, 8, 8, 1056)   26400       block5d_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block5d_bn_a (BatchNormalizatio (None, 29, 29, 1056) 4224        block5d_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block5d_bn_b (BatchNormalizatio (None, 8, 8, 1056)   4224        block5d_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block5d_activation_a (Activatio (None, 29, 29, 1056) 0           block5d_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block5d_activation_b (Activatio (None, 8, 8, 1056)   0           block5d_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block5d_se_squeeze_a (GlobalAve (None, 1056)         0           block5d_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5d_se_squeeze_b (GlobalAve (None, 1056)         0           block5d_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5d_se_reshape_a (Reshape)  (None, 1, 1, 1056)   0           block5d_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5d_se_reshape_b (Reshape)  (None, 1, 1, 1056)   0           block5d_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5d_se_reduce_a (Conv2D)    (None, 1, 1, 44)     46508       block5d_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5d_se_reduce_b (Conv2D)    (None, 1, 1, 44)     46508       block5d_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5d_se_expand_a (Conv2D)    (None, 1, 1, 1056)   47520       block5d_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5d_se_expand_b (Conv2D)    (None, 1, 1, 1056)   47520       block5d_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5d_se_excite_a (Multiply)  (None, 29, 29, 1056) 0           block5d_activation_a[0][0]       \n",
      "                                                                 block5d_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5d_se_excite_b (Multiply)  (None, 8, 8, 1056)   0           block5d_activation_b[0][0]       \n",
      "                                                                 block5d_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5d_project_conv_a (Conv2D) (None, 29, 29, 176)  185856      block5d_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5d_project_conv_b (Conv2D) (None, 8, 8, 176)    185856      block5d_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5d_project_bn_a (BatchNorm (None, 29, 29, 176)  704         block5d_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block5d_project_bn_b (BatchNorm (None, 8, 8, 176)    704         block5d_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block5d_drop_a (FixedDropout)   (None, 29, 29, 176)  0           block5d_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5d_drop_b (FixedDropout)   (None, 8, 8, 176)    0           block5d_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5d_add_a (Add)             (None, 29, 29, 176)  0           block5d_drop_a[0][0]             \n",
      "                                                                 block5c_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5d_add_b (Add)             (None, 8, 8, 176)    0           block5d_drop_b[0][0]             \n",
      "                                                                 block5c_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5e_expand_conv_a (Conv2D)  (None, 29, 29, 1056) 185856      block5d_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5e_expand_conv_b (Conv2D)  (None, 8, 8, 1056)   185856      block5d_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5e_expand_bn_a (BatchNorma (None, 29, 29, 1056) 4224        block5e_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block5e_expand_bn_b (BatchNorma (None, 8, 8, 1056)   4224        block5e_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block5e_expand_activation_a (Ac (None, 29, 29, 1056) 0           block5e_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5e_expand_activation_b (Ac (None, 8, 8, 1056)   0           block5e_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5e_dwconv_a (DepthwiseConv (None, 29, 29, 1056) 26400       block5e_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block5e_dwconv_b (DepthwiseConv (None, 8, 8, 1056)   26400       block5e_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block5e_bn_a (BatchNormalizatio (None, 29, 29, 1056) 4224        block5e_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block5e_bn_b (BatchNormalizatio (None, 8, 8, 1056)   4224        block5e_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block5e_activation_a (Activatio (None, 29, 29, 1056) 0           block5e_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block5e_activation_b (Activatio (None, 8, 8, 1056)   0           block5e_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block5e_se_squeeze_a (GlobalAve (None, 1056)         0           block5e_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5e_se_squeeze_b (GlobalAve (None, 1056)         0           block5e_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5e_se_reshape_a (Reshape)  (None, 1, 1, 1056)   0           block5e_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5e_se_reshape_b (Reshape)  (None, 1, 1, 1056)   0           block5e_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5e_se_reduce_a (Conv2D)    (None, 1, 1, 44)     46508       block5e_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5e_se_reduce_b (Conv2D)    (None, 1, 1, 44)     46508       block5e_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5e_se_expand_a (Conv2D)    (None, 1, 1, 1056)   47520       block5e_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5e_se_expand_b (Conv2D)    (None, 1, 1, 1056)   47520       block5e_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5e_se_excite_a (Multiply)  (None, 29, 29, 1056) 0           block5e_activation_a[0][0]       \n",
      "                                                                 block5e_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5e_se_excite_b (Multiply)  (None, 8, 8, 1056)   0           block5e_activation_b[0][0]       \n",
      "                                                                 block5e_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5e_project_conv_a (Conv2D) (None, 29, 29, 176)  185856      block5e_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5e_project_conv_b (Conv2D) (None, 8, 8, 176)    185856      block5e_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5e_project_bn_a (BatchNorm (None, 29, 29, 176)  704         block5e_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block5e_project_bn_b (BatchNorm (None, 8, 8, 176)    704         block5e_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block5e_drop_a (FixedDropout)   (None, 29, 29, 176)  0           block5e_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5e_drop_b (FixedDropout)   (None, 8, 8, 176)    0           block5e_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5e_add_a (Add)             (None, 29, 29, 176)  0           block5e_drop_a[0][0]             \n",
      "                                                                 block5d_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5e_add_b (Add)             (None, 8, 8, 176)    0           block5e_drop_b[0][0]             \n",
      "                                                                 block5d_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5f_expand_conv_a (Conv2D)  (None, 29, 29, 1056) 185856      block5e_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5f_expand_conv_b (Conv2D)  (None, 8, 8, 1056)   185856      block5e_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5f_expand_bn_a (BatchNorma (None, 29, 29, 1056) 4224        block5f_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block5f_expand_bn_b (BatchNorma (None, 8, 8, 1056)   4224        block5f_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block5f_expand_activation_a (Ac (None, 29, 29, 1056) 0           block5f_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5f_expand_activation_b (Ac (None, 8, 8, 1056)   0           block5f_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5f_dwconv_a (DepthwiseConv (None, 29, 29, 1056) 26400       block5f_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block5f_dwconv_b (DepthwiseConv (None, 8, 8, 1056)   26400       block5f_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block5f_bn_a (BatchNormalizatio (None, 29, 29, 1056) 4224        block5f_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block5f_bn_b (BatchNormalizatio (None, 8, 8, 1056)   4224        block5f_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block5f_activation_a (Activatio (None, 29, 29, 1056) 0           block5f_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block5f_activation_b (Activatio (None, 8, 8, 1056)   0           block5f_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block5f_se_squeeze_a (GlobalAve (None, 1056)         0           block5f_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5f_se_squeeze_b (GlobalAve (None, 1056)         0           block5f_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5f_se_reshape_a (Reshape)  (None, 1, 1, 1056)   0           block5f_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5f_se_reshape_b (Reshape)  (None, 1, 1, 1056)   0           block5f_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5f_se_reduce_a (Conv2D)    (None, 1, 1, 44)     46508       block5f_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5f_se_reduce_b (Conv2D)    (None, 1, 1, 44)     46508       block5f_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5f_se_expand_a (Conv2D)    (None, 1, 1, 1056)   47520       block5f_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5f_se_expand_b (Conv2D)    (None, 1, 1, 1056)   47520       block5f_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5f_se_excite_a (Multiply)  (None, 29, 29, 1056) 0           block5f_activation_a[0][0]       \n",
      "                                                                 block5f_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5f_se_excite_b (Multiply)  (None, 8, 8, 1056)   0           block5f_activation_b[0][0]       \n",
      "                                                                 block5f_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5f_project_conv_a (Conv2D) (None, 29, 29, 176)  185856      block5f_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5f_project_conv_b (Conv2D) (None, 8, 8, 176)    185856      block5f_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5f_project_bn_a (BatchNorm (None, 29, 29, 176)  704         block5f_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block5f_project_bn_b (BatchNorm (None, 8, 8, 176)    704         block5f_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block5f_drop_a (FixedDropout)   (None, 29, 29, 176)  0           block5f_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5f_drop_b (FixedDropout)   (None, 8, 8, 176)    0           block5f_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5f_add_a (Add)             (None, 29, 29, 176)  0           block5f_drop_a[0][0]             \n",
      "                                                                 block5e_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5f_add_b (Add)             (None, 8, 8, 176)    0           block5f_drop_b[0][0]             \n",
      "                                                                 block5e_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5g_expand_conv_a (Conv2D)  (None, 29, 29, 1056) 185856      block5f_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5g_expand_conv_b (Conv2D)  (None, 8, 8, 1056)   185856      block5f_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5g_expand_bn_a (BatchNorma (None, 29, 29, 1056) 4224        block5g_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block5g_expand_bn_b (BatchNorma (None, 8, 8, 1056)   4224        block5g_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block5g_expand_activation_a (Ac (None, 29, 29, 1056) 0           block5g_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5g_expand_activation_b (Ac (None, 8, 8, 1056)   0           block5g_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5g_dwconv_a (DepthwiseConv (None, 29, 29, 1056) 26400       block5g_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block5g_dwconv_b (DepthwiseConv (None, 8, 8, 1056)   26400       block5g_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block5g_bn_a (BatchNormalizatio (None, 29, 29, 1056) 4224        block5g_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block5g_bn_b (BatchNormalizatio (None, 8, 8, 1056)   4224        block5g_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block5g_activation_a (Activatio (None, 29, 29, 1056) 0           block5g_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block5g_activation_b (Activatio (None, 8, 8, 1056)   0           block5g_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block5g_se_squeeze_a (GlobalAve (None, 1056)         0           block5g_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5g_se_squeeze_b (GlobalAve (None, 1056)         0           block5g_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5g_se_reshape_a (Reshape)  (None, 1, 1, 1056)   0           block5g_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5g_se_reshape_b (Reshape)  (None, 1, 1, 1056)   0           block5g_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5g_se_reduce_a (Conv2D)    (None, 1, 1, 44)     46508       block5g_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5g_se_reduce_b (Conv2D)    (None, 1, 1, 44)     46508       block5g_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5g_se_expand_a (Conv2D)    (None, 1, 1, 1056)   47520       block5g_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5g_se_expand_b (Conv2D)    (None, 1, 1, 1056)   47520       block5g_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5g_se_excite_a (Multiply)  (None, 29, 29, 1056) 0           block5g_activation_a[0][0]       \n",
      "                                                                 block5g_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5g_se_excite_b (Multiply)  (None, 8, 8, 1056)   0           block5g_activation_b[0][0]       \n",
      "                                                                 block5g_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5g_project_conv_a (Conv2D) (None, 29, 29, 176)  185856      block5g_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5g_project_conv_b (Conv2D) (None, 8, 8, 176)    185856      block5g_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block5g_project_bn_a (BatchNorm (None, 29, 29, 176)  704         block5g_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block5g_project_bn_b (BatchNorm (None, 8, 8, 176)    704         block5g_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block5g_drop_a (FixedDropout)   (None, 29, 29, 176)  0           block5g_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5g_drop_b (FixedDropout)   (None, 8, 8, 176)    0           block5g_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block5g_add_a (Add)             (None, 29, 29, 176)  0           block5g_drop_a[0][0]             \n",
      "                                                                 block5f_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block5g_add_b (Add)             (None, 8, 8, 176)    0           block5g_drop_b[0][0]             \n",
      "                                                                 block5f_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6a_expand_conv_a (Conv2D)  (None, 29, 29, 1056) 185856      block5g_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6a_expand_conv_b (Conv2D)  (None, 8, 8, 1056)   185856      block5g_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6a_expand_bn_a (BatchNorma (None, 29, 29, 1056) 4224        block6a_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6a_expand_bn_b (BatchNorma (None, 8, 8, 1056)   4224        block6a_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6a_expand_activation_a (Ac (None, 29, 29, 1056) 0           block6a_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6a_expand_activation_b (Ac (None, 8, 8, 1056)   0           block6a_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6a_dwconv_a (DepthwiseConv (None, 15, 15, 1056) 26400       block6a_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6a_dwconv_b (DepthwiseConv (None, 4, 4, 1056)   26400       block6a_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6a_bn_a (BatchNormalizatio (None, 15, 15, 1056) 4224        block6a_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6a_bn_b (BatchNormalizatio (None, 4, 4, 1056)   4224        block6a_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6a_activation_a (Activatio (None, 15, 15, 1056) 0           block6a_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6a_activation_b (Activatio (None, 4, 4, 1056)   0           block6a_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6a_se_squeeze_a (GlobalAve (None, 1056)         0           block6a_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6a_se_squeeze_b (GlobalAve (None, 1056)         0           block6a_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6a_se_reshape_a (Reshape)  (None, 1, 1, 1056)   0           block6a_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6a_se_reshape_b (Reshape)  (None, 1, 1, 1056)   0           block6a_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6a_se_reduce_a (Conv2D)    (None, 1, 1, 44)     46508       block6a_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6a_se_reduce_b (Conv2D)    (None, 1, 1, 44)     46508       block6a_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6a_se_expand_a (Conv2D)    (None, 1, 1, 1056)   47520       block6a_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6a_se_expand_b (Conv2D)    (None, 1, 1, 1056)   47520       block6a_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6a_se_excite_a (Multiply)  (None, 15, 15, 1056) 0           block6a_activation_a[0][0]       \n",
      "                                                                 block6a_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6a_se_excite_b (Multiply)  (None, 4, 4, 1056)   0           block6a_activation_b[0][0]       \n",
      "                                                                 block6a_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6a_project_conv_a (Conv2D) (None, 15, 15, 304)  321024      block6a_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6a_project_conv_b (Conv2D) (None, 4, 4, 304)    321024      block6a_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6a_project_bn_a (BatchNorm (None, 15, 15, 304)  1216        block6a_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6a_project_bn_b (BatchNorm (None, 4, 4, 304)    1216        block6a_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6b_expand_conv_a (Conv2D)  (None, 15, 15, 1824) 554496      block6a_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6b_expand_conv_b (Conv2D)  (None, 4, 4, 1824)   554496      block6a_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6b_expand_bn_a (BatchNorma (None, 15, 15, 1824) 7296        block6b_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6b_expand_bn_b (BatchNorma (None, 4, 4, 1824)   7296        block6b_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6b_expand_activation_a (Ac (None, 15, 15, 1824) 0           block6b_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6b_expand_activation_b (Ac (None, 4, 4, 1824)   0           block6b_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6b_dwconv_a (DepthwiseConv (None, 15, 15, 1824) 45600       block6b_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6b_dwconv_b (DepthwiseConv (None, 4, 4, 1824)   45600       block6b_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6b_bn_a (BatchNormalizatio (None, 15, 15, 1824) 7296        block6b_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6b_bn_b (BatchNormalizatio (None, 4, 4, 1824)   7296        block6b_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6b_activation_a (Activatio (None, 15, 15, 1824) 0           block6b_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6b_activation_b (Activatio (None, 4, 4, 1824)   0           block6b_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6b_se_squeeze_a (GlobalAve (None, 1824)         0           block6b_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6b_se_squeeze_b (GlobalAve (None, 1824)         0           block6b_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6b_se_reshape_a (Reshape)  (None, 1, 1, 1824)   0           block6b_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6b_se_reshape_b (Reshape)  (None, 1, 1, 1824)   0           block6b_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6b_se_reduce_a (Conv2D)    (None, 1, 1, 76)     138700      block6b_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6b_se_reduce_b (Conv2D)    (None, 1, 1, 76)     138700      block6b_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6b_se_expand_a (Conv2D)    (None, 1, 1, 1824)   140448      block6b_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6b_se_expand_b (Conv2D)    (None, 1, 1, 1824)   140448      block6b_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6b_se_excite_a (Multiply)  (None, 15, 15, 1824) 0           block6b_activation_a[0][0]       \n",
      "                                                                 block6b_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6b_se_excite_b (Multiply)  (None, 4, 4, 1824)   0           block6b_activation_b[0][0]       \n",
      "                                                                 block6b_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6b_project_conv_a (Conv2D) (None, 15, 15, 304)  554496      block6b_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6b_project_conv_b (Conv2D) (None, 4, 4, 304)    554496      block6b_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6b_project_bn_a (BatchNorm (None, 15, 15, 304)  1216        block6b_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6b_project_bn_b (BatchNorm (None, 4, 4, 304)    1216        block6b_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6b_drop_a (FixedDropout)   (None, 15, 15, 304)  0           block6b_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6b_drop_b (FixedDropout)   (None, 4, 4, 304)    0           block6b_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6b_add_a (Add)             (None, 15, 15, 304)  0           block6b_drop_a[0][0]             \n",
      "                                                                 block6a_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6b_add_b (Add)             (None, 4, 4, 304)    0           block6b_drop_b[0][0]             \n",
      "                                                                 block6a_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6c_expand_conv_a (Conv2D)  (None, 15, 15, 1824) 554496      block6b_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6c_expand_conv_b (Conv2D)  (None, 4, 4, 1824)   554496      block6b_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6c_expand_bn_a (BatchNorma (None, 15, 15, 1824) 7296        block6c_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6c_expand_bn_b (BatchNorma (None, 4, 4, 1824)   7296        block6c_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6c_expand_activation_a (Ac (None, 15, 15, 1824) 0           block6c_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6c_expand_activation_b (Ac (None, 4, 4, 1824)   0           block6c_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6c_dwconv_a (DepthwiseConv (None, 15, 15, 1824) 45600       block6c_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6c_dwconv_b (DepthwiseConv (None, 4, 4, 1824)   45600       block6c_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6c_bn_a (BatchNormalizatio (None, 15, 15, 1824) 7296        block6c_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6c_bn_b (BatchNormalizatio (None, 4, 4, 1824)   7296        block6c_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6c_activation_a (Activatio (None, 15, 15, 1824) 0           block6c_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6c_activation_b (Activatio (None, 4, 4, 1824)   0           block6c_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6c_se_squeeze_a (GlobalAve (None, 1824)         0           block6c_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6c_se_squeeze_b (GlobalAve (None, 1824)         0           block6c_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6c_se_reshape_a (Reshape)  (None, 1, 1, 1824)   0           block6c_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6c_se_reshape_b (Reshape)  (None, 1, 1, 1824)   0           block6c_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6c_se_reduce_a (Conv2D)    (None, 1, 1, 76)     138700      block6c_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6c_se_reduce_b (Conv2D)    (None, 1, 1, 76)     138700      block6c_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6c_se_expand_a (Conv2D)    (None, 1, 1, 1824)   140448      block6c_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6c_se_expand_b (Conv2D)    (None, 1, 1, 1824)   140448      block6c_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6c_se_excite_a (Multiply)  (None, 15, 15, 1824) 0           block6c_activation_a[0][0]       \n",
      "                                                                 block6c_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6c_se_excite_b (Multiply)  (None, 4, 4, 1824)   0           block6c_activation_b[0][0]       \n",
      "                                                                 block6c_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6c_project_conv_a (Conv2D) (None, 15, 15, 304)  554496      block6c_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6c_project_conv_b (Conv2D) (None, 4, 4, 304)    554496      block6c_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6c_project_bn_a (BatchNorm (None, 15, 15, 304)  1216        block6c_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6c_project_bn_b (BatchNorm (None, 4, 4, 304)    1216        block6c_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6c_drop_a (FixedDropout)   (None, 15, 15, 304)  0           block6c_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6c_drop_b (FixedDropout)   (None, 4, 4, 304)    0           block6c_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6c_add_a (Add)             (None, 15, 15, 304)  0           block6c_drop_a[0][0]             \n",
      "                                                                 block6b_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6c_add_b (Add)             (None, 4, 4, 304)    0           block6c_drop_b[0][0]             \n",
      "                                                                 block6b_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6d_expand_conv_a (Conv2D)  (None, 15, 15, 1824) 554496      block6c_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6d_expand_conv_b (Conv2D)  (None, 4, 4, 1824)   554496      block6c_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6d_expand_bn_a (BatchNorma (None, 15, 15, 1824) 7296        block6d_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6d_expand_bn_b (BatchNorma (None, 4, 4, 1824)   7296        block6d_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6d_expand_activation_a (Ac (None, 15, 15, 1824) 0           block6d_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6d_expand_activation_b (Ac (None, 4, 4, 1824)   0           block6d_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6d_dwconv_a (DepthwiseConv (None, 15, 15, 1824) 45600       block6d_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6d_dwconv_b (DepthwiseConv (None, 4, 4, 1824)   45600       block6d_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6d_bn_a (BatchNormalizatio (None, 15, 15, 1824) 7296        block6d_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6d_bn_b (BatchNormalizatio (None, 4, 4, 1824)   7296        block6d_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6d_activation_a (Activatio (None, 15, 15, 1824) 0           block6d_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6d_activation_b (Activatio (None, 4, 4, 1824)   0           block6d_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6d_se_squeeze_a (GlobalAve (None, 1824)         0           block6d_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6d_se_squeeze_b (GlobalAve (None, 1824)         0           block6d_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6d_se_reshape_a (Reshape)  (None, 1, 1, 1824)   0           block6d_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6d_se_reshape_b (Reshape)  (None, 1, 1, 1824)   0           block6d_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6d_se_reduce_a (Conv2D)    (None, 1, 1, 76)     138700      block6d_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6d_se_reduce_b (Conv2D)    (None, 1, 1, 76)     138700      block6d_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6d_se_expand_a (Conv2D)    (None, 1, 1, 1824)   140448      block6d_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6d_se_expand_b (Conv2D)    (None, 1, 1, 1824)   140448      block6d_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6d_se_excite_a (Multiply)  (None, 15, 15, 1824) 0           block6d_activation_a[0][0]       \n",
      "                                                                 block6d_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6d_se_excite_b (Multiply)  (None, 4, 4, 1824)   0           block6d_activation_b[0][0]       \n",
      "                                                                 block6d_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6d_project_conv_a (Conv2D) (None, 15, 15, 304)  554496      block6d_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6d_project_conv_b (Conv2D) (None, 4, 4, 304)    554496      block6d_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6d_project_bn_a (BatchNorm (None, 15, 15, 304)  1216        block6d_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6d_project_bn_b (BatchNorm (None, 4, 4, 304)    1216        block6d_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6d_drop_a (FixedDropout)   (None, 15, 15, 304)  0           block6d_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6d_drop_b (FixedDropout)   (None, 4, 4, 304)    0           block6d_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6d_add_a (Add)             (None, 15, 15, 304)  0           block6d_drop_a[0][0]             \n",
      "                                                                 block6c_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6d_add_b (Add)             (None, 4, 4, 304)    0           block6d_drop_b[0][0]             \n",
      "                                                                 block6c_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6e_expand_conv_a (Conv2D)  (None, 15, 15, 1824) 554496      block6d_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6e_expand_conv_b (Conv2D)  (None, 4, 4, 1824)   554496      block6d_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6e_expand_bn_a (BatchNorma (None, 15, 15, 1824) 7296        block6e_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6e_expand_bn_b (BatchNorma (None, 4, 4, 1824)   7296        block6e_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6e_expand_activation_a (Ac (None, 15, 15, 1824) 0           block6e_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6e_expand_activation_b (Ac (None, 4, 4, 1824)   0           block6e_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6e_dwconv_a (DepthwiseConv (None, 15, 15, 1824) 45600       block6e_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6e_dwconv_b (DepthwiseConv (None, 4, 4, 1824)   45600       block6e_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6e_bn_a (BatchNormalizatio (None, 15, 15, 1824) 7296        block6e_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6e_bn_b (BatchNormalizatio (None, 4, 4, 1824)   7296        block6e_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6e_activation_a (Activatio (None, 15, 15, 1824) 0           block6e_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6e_activation_b (Activatio (None, 4, 4, 1824)   0           block6e_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6e_se_squeeze_a (GlobalAve (None, 1824)         0           block6e_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6e_se_squeeze_b (GlobalAve (None, 1824)         0           block6e_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6e_se_reshape_a (Reshape)  (None, 1, 1, 1824)   0           block6e_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6e_se_reshape_b (Reshape)  (None, 1, 1, 1824)   0           block6e_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6e_se_reduce_a (Conv2D)    (None, 1, 1, 76)     138700      block6e_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6e_se_reduce_b (Conv2D)    (None, 1, 1, 76)     138700      block6e_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6e_se_expand_a (Conv2D)    (None, 1, 1, 1824)   140448      block6e_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6e_se_expand_b (Conv2D)    (None, 1, 1, 1824)   140448      block6e_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6e_se_excite_a (Multiply)  (None, 15, 15, 1824) 0           block6e_activation_a[0][0]       \n",
      "                                                                 block6e_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6e_se_excite_b (Multiply)  (None, 4, 4, 1824)   0           block6e_activation_b[0][0]       \n",
      "                                                                 block6e_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6e_project_conv_a (Conv2D) (None, 15, 15, 304)  554496      block6e_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6e_project_conv_b (Conv2D) (None, 4, 4, 304)    554496      block6e_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6e_project_bn_a (BatchNorm (None, 15, 15, 304)  1216        block6e_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6e_project_bn_b (BatchNorm (None, 4, 4, 304)    1216        block6e_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6e_drop_a (FixedDropout)   (None, 15, 15, 304)  0           block6e_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6e_drop_b (FixedDropout)   (None, 4, 4, 304)    0           block6e_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6e_add_a (Add)             (None, 15, 15, 304)  0           block6e_drop_a[0][0]             \n",
      "                                                                 block6d_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6e_add_b (Add)             (None, 4, 4, 304)    0           block6e_drop_b[0][0]             \n",
      "                                                                 block6d_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6f_expand_conv_a (Conv2D)  (None, 15, 15, 1824) 554496      block6e_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6f_expand_conv_b (Conv2D)  (None, 4, 4, 1824)   554496      block6e_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6f_expand_bn_a (BatchNorma (None, 15, 15, 1824) 7296        block6f_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6f_expand_bn_b (BatchNorma (None, 4, 4, 1824)   7296        block6f_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6f_expand_activation_a (Ac (None, 15, 15, 1824) 0           block6f_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6f_expand_activation_b (Ac (None, 4, 4, 1824)   0           block6f_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6f_dwconv_a (DepthwiseConv (None, 15, 15, 1824) 45600       block6f_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6f_dwconv_b (DepthwiseConv (None, 4, 4, 1824)   45600       block6f_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6f_bn_a (BatchNormalizatio (None, 15, 15, 1824) 7296        block6f_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6f_bn_b (BatchNormalizatio (None, 4, 4, 1824)   7296        block6f_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6f_activation_a (Activatio (None, 15, 15, 1824) 0           block6f_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6f_activation_b (Activatio (None, 4, 4, 1824)   0           block6f_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6f_se_squeeze_a (GlobalAve (None, 1824)         0           block6f_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6f_se_squeeze_b (GlobalAve (None, 1824)         0           block6f_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6f_se_reshape_a (Reshape)  (None, 1, 1, 1824)   0           block6f_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6f_se_reshape_b (Reshape)  (None, 1, 1, 1824)   0           block6f_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6f_se_reduce_a (Conv2D)    (None, 1, 1, 76)     138700      block6f_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6f_se_reduce_b (Conv2D)    (None, 1, 1, 76)     138700      block6f_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6f_se_expand_a (Conv2D)    (None, 1, 1, 1824)   140448      block6f_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6f_se_expand_b (Conv2D)    (None, 1, 1, 1824)   140448      block6f_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6f_se_excite_a (Multiply)  (None, 15, 15, 1824) 0           block6f_activation_a[0][0]       \n",
      "                                                                 block6f_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6f_se_excite_b (Multiply)  (None, 4, 4, 1824)   0           block6f_activation_b[0][0]       \n",
      "                                                                 block6f_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6f_project_conv_a (Conv2D) (None, 15, 15, 304)  554496      block6f_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6f_project_conv_b (Conv2D) (None, 4, 4, 304)    554496      block6f_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6f_project_bn_a (BatchNorm (None, 15, 15, 304)  1216        block6f_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6f_project_bn_b (BatchNorm (None, 4, 4, 304)    1216        block6f_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6f_drop_a (FixedDropout)   (None, 15, 15, 304)  0           block6f_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6f_drop_b (FixedDropout)   (None, 4, 4, 304)    0           block6f_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6f_add_a (Add)             (None, 15, 15, 304)  0           block6f_drop_a[0][0]             \n",
      "                                                                 block6e_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6f_add_b (Add)             (None, 4, 4, 304)    0           block6f_drop_b[0][0]             \n",
      "                                                                 block6e_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6g_expand_conv_a (Conv2D)  (None, 15, 15, 1824) 554496      block6f_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6g_expand_conv_b (Conv2D)  (None, 4, 4, 1824)   554496      block6f_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6g_expand_bn_a (BatchNorma (None, 15, 15, 1824) 7296        block6g_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6g_expand_bn_b (BatchNorma (None, 4, 4, 1824)   7296        block6g_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6g_expand_activation_a (Ac (None, 15, 15, 1824) 0           block6g_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6g_expand_activation_b (Ac (None, 4, 4, 1824)   0           block6g_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6g_dwconv_a (DepthwiseConv (None, 15, 15, 1824) 45600       block6g_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6g_dwconv_b (DepthwiseConv (None, 4, 4, 1824)   45600       block6g_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6g_bn_a (BatchNormalizatio (None, 15, 15, 1824) 7296        block6g_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6g_bn_b (BatchNormalizatio (None, 4, 4, 1824)   7296        block6g_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6g_activation_a (Activatio (None, 15, 15, 1824) 0           block6g_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6g_activation_b (Activatio (None, 4, 4, 1824)   0           block6g_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6g_se_squeeze_a (GlobalAve (None, 1824)         0           block6g_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6g_se_squeeze_b (GlobalAve (None, 1824)         0           block6g_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6g_se_reshape_a (Reshape)  (None, 1, 1, 1824)   0           block6g_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6g_se_reshape_b (Reshape)  (None, 1, 1, 1824)   0           block6g_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6g_se_reduce_a (Conv2D)    (None, 1, 1, 76)     138700      block6g_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6g_se_reduce_b (Conv2D)    (None, 1, 1, 76)     138700      block6g_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6g_se_expand_a (Conv2D)    (None, 1, 1, 1824)   140448      block6g_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6g_se_expand_b (Conv2D)    (None, 1, 1, 1824)   140448      block6g_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6g_se_excite_a (Multiply)  (None, 15, 15, 1824) 0           block6g_activation_a[0][0]       \n",
      "                                                                 block6g_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6g_se_excite_b (Multiply)  (None, 4, 4, 1824)   0           block6g_activation_b[0][0]       \n",
      "                                                                 block6g_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6g_project_conv_a (Conv2D) (None, 15, 15, 304)  554496      block6g_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6g_project_conv_b (Conv2D) (None, 4, 4, 304)    554496      block6g_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6g_project_bn_a (BatchNorm (None, 15, 15, 304)  1216        block6g_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6g_project_bn_b (BatchNorm (None, 4, 4, 304)    1216        block6g_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6g_drop_a (FixedDropout)   (None, 15, 15, 304)  0           block6g_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6g_drop_b (FixedDropout)   (None, 4, 4, 304)    0           block6g_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6g_add_a (Add)             (None, 15, 15, 304)  0           block6g_drop_a[0][0]             \n",
      "                                                                 block6f_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6g_add_b (Add)             (None, 4, 4, 304)    0           block6g_drop_b[0][0]             \n",
      "                                                                 block6f_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6h_expand_conv_a (Conv2D)  (None, 15, 15, 1824) 554496      block6g_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6h_expand_conv_b (Conv2D)  (None, 4, 4, 1824)   554496      block6g_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6h_expand_bn_a (BatchNorma (None, 15, 15, 1824) 7296        block6h_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6h_expand_bn_b (BatchNorma (None, 4, 4, 1824)   7296        block6h_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6h_expand_activation_a (Ac (None, 15, 15, 1824) 0           block6h_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6h_expand_activation_b (Ac (None, 4, 4, 1824)   0           block6h_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6h_dwconv_a (DepthwiseConv (None, 15, 15, 1824) 45600       block6h_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6h_dwconv_b (DepthwiseConv (None, 4, 4, 1824)   45600       block6h_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6h_bn_a (BatchNormalizatio (None, 15, 15, 1824) 7296        block6h_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6h_bn_b (BatchNormalizatio (None, 4, 4, 1824)   7296        block6h_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6h_activation_a (Activatio (None, 15, 15, 1824) 0           block6h_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6h_activation_b (Activatio (None, 4, 4, 1824)   0           block6h_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6h_se_squeeze_a (GlobalAve (None, 1824)         0           block6h_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6h_se_squeeze_b (GlobalAve (None, 1824)         0           block6h_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6h_se_reshape_a (Reshape)  (None, 1, 1, 1824)   0           block6h_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6h_se_reshape_b (Reshape)  (None, 1, 1, 1824)   0           block6h_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6h_se_reduce_a (Conv2D)    (None, 1, 1, 76)     138700      block6h_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6h_se_reduce_b (Conv2D)    (None, 1, 1, 76)     138700      block6h_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6h_se_expand_a (Conv2D)    (None, 1, 1, 1824)   140448      block6h_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6h_se_expand_b (Conv2D)    (None, 1, 1, 1824)   140448      block6h_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6h_se_excite_a (Multiply)  (None, 15, 15, 1824) 0           block6h_activation_a[0][0]       \n",
      "                                                                 block6h_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6h_se_excite_b (Multiply)  (None, 4, 4, 1824)   0           block6h_activation_b[0][0]       \n",
      "                                                                 block6h_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6h_project_conv_a (Conv2D) (None, 15, 15, 304)  554496      block6h_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6h_project_conv_b (Conv2D) (None, 4, 4, 304)    554496      block6h_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6h_project_bn_a (BatchNorm (None, 15, 15, 304)  1216        block6h_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6h_project_bn_b (BatchNorm (None, 4, 4, 304)    1216        block6h_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6h_drop_a (FixedDropout)   (None, 15, 15, 304)  0           block6h_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6h_drop_b (FixedDropout)   (None, 4, 4, 304)    0           block6h_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6h_add_a (Add)             (None, 15, 15, 304)  0           block6h_drop_a[0][0]             \n",
      "                                                                 block6g_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6h_add_b (Add)             (None, 4, 4, 304)    0           block6h_drop_b[0][0]             \n",
      "                                                                 block6g_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6i_expand_conv_a (Conv2D)  (None, 15, 15, 1824) 554496      block6h_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6i_expand_conv_b (Conv2D)  (None, 4, 4, 1824)   554496      block6h_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6i_expand_bn_a (BatchNorma (None, 15, 15, 1824) 7296        block6i_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6i_expand_bn_b (BatchNorma (None, 4, 4, 1824)   7296        block6i_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block6i_expand_activation_a (Ac (None, 15, 15, 1824) 0           block6i_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6i_expand_activation_b (Ac (None, 4, 4, 1824)   0           block6i_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6i_dwconv_a (DepthwiseConv (None, 15, 15, 1824) 45600       block6i_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6i_dwconv_b (DepthwiseConv (None, 4, 4, 1824)   45600       block6i_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block6i_bn_a (BatchNormalizatio (None, 15, 15, 1824) 7296        block6i_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6i_bn_b (BatchNormalizatio (None, 4, 4, 1824)   7296        block6i_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block6i_activation_a (Activatio (None, 15, 15, 1824) 0           block6i_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6i_activation_b (Activatio (None, 4, 4, 1824)   0           block6i_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block6i_se_squeeze_a (GlobalAve (None, 1824)         0           block6i_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6i_se_squeeze_b (GlobalAve (None, 1824)         0           block6i_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6i_se_reshape_a (Reshape)  (None, 1, 1, 1824)   0           block6i_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6i_se_reshape_b (Reshape)  (None, 1, 1, 1824)   0           block6i_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6i_se_reduce_a (Conv2D)    (None, 1, 1, 76)     138700      block6i_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6i_se_reduce_b (Conv2D)    (None, 1, 1, 76)     138700      block6i_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6i_se_expand_a (Conv2D)    (None, 1, 1, 1824)   140448      block6i_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6i_se_expand_b (Conv2D)    (None, 1, 1, 1824)   140448      block6i_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6i_se_excite_a (Multiply)  (None, 15, 15, 1824) 0           block6i_activation_a[0][0]       \n",
      "                                                                 block6i_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6i_se_excite_b (Multiply)  (None, 4, 4, 1824)   0           block6i_activation_b[0][0]       \n",
      "                                                                 block6i_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6i_project_conv_a (Conv2D) (None, 15, 15, 304)  554496      block6i_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6i_project_conv_b (Conv2D) (None, 4, 4, 304)    554496      block6i_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block6i_project_bn_a (BatchNorm (None, 15, 15, 304)  1216        block6i_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6i_project_bn_b (BatchNorm (None, 4, 4, 304)    1216        block6i_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block6i_drop_a (FixedDropout)   (None, 15, 15, 304)  0           block6i_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6i_drop_b (FixedDropout)   (None, 4, 4, 304)    0           block6i_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block6i_add_a (Add)             (None, 15, 15, 304)  0           block6i_drop_a[0][0]             \n",
      "                                                                 block6h_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block6i_add_b (Add)             (None, 4, 4, 304)    0           block6i_drop_b[0][0]             \n",
      "                                                                 block6h_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block7a_expand_conv_a (Conv2D)  (None, 15, 15, 1824) 554496      block6i_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block7a_expand_conv_b (Conv2D)  (None, 4, 4, 1824)   554496      block6i_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block7a_expand_bn_a (BatchNorma (None, 15, 15, 1824) 7296        block7a_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block7a_expand_bn_b (BatchNorma (None, 4, 4, 1824)   7296        block7a_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block7a_expand_activation_a (Ac (None, 15, 15, 1824) 0           block7a_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7a_expand_activation_b (Ac (None, 4, 4, 1824)   0           block7a_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7a_dwconv_a (DepthwiseConv (None, 15, 15, 1824) 16416       block7a_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block7a_dwconv_b (DepthwiseConv (None, 4, 4, 1824)   16416       block7a_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block7a_bn_a (BatchNormalizatio (None, 15, 15, 1824) 7296        block7a_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block7a_bn_b (BatchNormalizatio (None, 4, 4, 1824)   7296        block7a_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block7a_activation_a (Activatio (None, 15, 15, 1824) 0           block7a_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block7a_activation_b (Activatio (None, 4, 4, 1824)   0           block7a_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block7a_se_squeeze_a (GlobalAve (None, 1824)         0           block7a_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7a_se_squeeze_b (GlobalAve (None, 1824)         0           block7a_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7a_se_reshape_a (Reshape)  (None, 1, 1, 1824)   0           block7a_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7a_se_reshape_b (Reshape)  (None, 1, 1, 1824)   0           block7a_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7a_se_reduce_a (Conv2D)    (None, 1, 1, 76)     138700      block7a_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7a_se_reduce_b (Conv2D)    (None, 1, 1, 76)     138700      block7a_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7a_se_expand_a (Conv2D)    (None, 1, 1, 1824)   140448      block7a_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7a_se_expand_b (Conv2D)    (None, 1, 1, 1824)   140448      block7a_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7a_se_excite_a (Multiply)  (None, 15, 15, 1824) 0           block7a_activation_a[0][0]       \n",
      "                                                                 block7a_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7a_se_excite_b (Multiply)  (None, 4, 4, 1824)   0           block7a_activation_b[0][0]       \n",
      "                                                                 block7a_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7a_project_conv_a (Conv2D) (None, 15, 15, 512)  933888      block7a_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7a_project_conv_b (Conv2D) (None, 4, 4, 512)    933888      block7a_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7a_project_bn_a (BatchNorm (None, 15, 15, 512)  2048        block7a_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block7a_project_bn_b (BatchNorm (None, 4, 4, 512)    2048        block7a_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block7b_expand_conv_a (Conv2D)  (None, 15, 15, 3072) 1572864     block7a_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7b_expand_conv_b (Conv2D)  (None, 4, 4, 3072)   1572864     block7a_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7b_expand_bn_a (BatchNorma (None, 15, 15, 3072) 12288       block7b_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block7b_expand_bn_b (BatchNorma (None, 4, 4, 3072)   12288       block7b_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block7b_expand_activation_a (Ac (None, 15, 15, 3072) 0           block7b_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7b_expand_activation_b (Ac (None, 4, 4, 3072)   0           block7b_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7b_dwconv_a (DepthwiseConv (None, 15, 15, 3072) 27648       block7b_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block7b_dwconv_b (DepthwiseConv (None, 4, 4, 3072)   27648       block7b_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block7b_bn_a (BatchNormalizatio (None, 15, 15, 3072) 12288       block7b_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block7b_bn_b (BatchNormalizatio (None, 4, 4, 3072)   12288       block7b_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block7b_activation_a (Activatio (None, 15, 15, 3072) 0           block7b_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block7b_activation_b (Activatio (None, 4, 4, 3072)   0           block7b_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block7b_se_squeeze_a (GlobalAve (None, 3072)         0           block7b_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7b_se_squeeze_b (GlobalAve (None, 3072)         0           block7b_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7b_se_reshape_a (Reshape)  (None, 1, 1, 3072)   0           block7b_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7b_se_reshape_b (Reshape)  (None, 1, 1, 3072)   0           block7b_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7b_se_reduce_a (Conv2D)    (None, 1, 1, 128)    393344      block7b_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7b_se_reduce_b (Conv2D)    (None, 1, 1, 128)    393344      block7b_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7b_se_expand_a (Conv2D)    (None, 1, 1, 3072)   396288      block7b_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7b_se_expand_b (Conv2D)    (None, 1, 1, 3072)   396288      block7b_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7b_se_excite_a (Multiply)  (None, 15, 15, 3072) 0           block7b_activation_a[0][0]       \n",
      "                                                                 block7b_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7b_se_excite_b (Multiply)  (None, 4, 4, 3072)   0           block7b_activation_b[0][0]       \n",
      "                                                                 block7b_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7b_project_conv_a (Conv2D) (None, 15, 15, 512)  1572864     block7b_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7b_project_conv_b (Conv2D) (None, 4, 4, 512)    1572864     block7b_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7b_project_bn_a (BatchNorm (None, 15, 15, 512)  2048        block7b_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block7b_project_bn_b (BatchNorm (None, 4, 4, 512)    2048        block7b_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block7b_drop_a (FixedDropout)   (None, 15, 15, 512)  0           block7b_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7b_drop_b (FixedDropout)   (None, 4, 4, 512)    0           block7b_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7b_add_a (Add)             (None, 15, 15, 512)  0           block7b_drop_a[0][0]             \n",
      "                                                                 block7a_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7b_add_b (Add)             (None, 4, 4, 512)    0           block7b_drop_b[0][0]             \n",
      "                                                                 block7a_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7c_expand_conv_a (Conv2D)  (None, 15, 15, 3072) 1572864     block7b_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block7c_expand_conv_b (Conv2D)  (None, 4, 4, 3072)   1572864     block7b_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block7c_expand_bn_a (BatchNorma (None, 15, 15, 3072) 12288       block7c_expand_conv_a[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block7c_expand_bn_b (BatchNorma (None, 4, 4, 3072)   12288       block7c_expand_conv_b[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "block7c_expand_activation_a (Ac (None, 15, 15, 3072) 0           block7c_expand_bn_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7c_expand_activation_b (Ac (None, 4, 4, 3072)   0           block7c_expand_bn_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7c_dwconv_a (DepthwiseConv (None, 15, 15, 3072) 27648       block7c_expand_activation_a[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block7c_dwconv_b (DepthwiseConv (None, 4, 4, 3072)   27648       block7c_expand_activation_b[0][0]\n",
      "__________________________________________________________________________________________________\n",
      "block7c_bn_a (BatchNormalizatio (None, 15, 15, 3072) 12288       block7c_dwconv_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block7c_bn_b (BatchNormalizatio (None, 4, 4, 3072)   12288       block7c_dwconv_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "block7c_activation_a (Activatio (None, 15, 15, 3072) 0           block7c_bn_a[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block7c_activation_b (Activatio (None, 4, 4, 3072)   0           block7c_bn_b[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "block7c_se_squeeze_a (GlobalAve (None, 3072)         0           block7c_activation_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7c_se_squeeze_b (GlobalAve (None, 3072)         0           block7c_activation_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7c_se_reshape_a (Reshape)  (None, 1, 1, 3072)   0           block7c_se_squeeze_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7c_se_reshape_b (Reshape)  (None, 1, 1, 3072)   0           block7c_se_squeeze_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7c_se_reduce_a (Conv2D)    (None, 1, 1, 128)    393344      block7c_se_reshape_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7c_se_reduce_b (Conv2D)    (None, 1, 1, 128)    393344      block7c_se_reshape_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7c_se_expand_a (Conv2D)    (None, 1, 1, 3072)   396288      block7c_se_reduce_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7c_se_expand_b (Conv2D)    (None, 1, 1, 3072)   396288      block7c_se_reduce_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7c_se_excite_a (Multiply)  (None, 15, 15, 3072) 0           block7c_activation_a[0][0]       \n",
      "                                                                 block7c_se_expand_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7c_se_excite_b (Multiply)  (None, 4, 4, 3072)   0           block7c_activation_b[0][0]       \n",
      "                                                                 block7c_se_expand_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7c_project_conv_a (Conv2D) (None, 15, 15, 512)  1572864     block7c_se_excite_a[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7c_project_conv_b (Conv2D) (None, 4, 4, 512)    1572864     block7c_se_excite_b[0][0]        \n",
      "__________________________________________________________________________________________________\n",
      "block7c_project_bn_a (BatchNorm (None, 15, 15, 512)  2048        block7c_project_conv_a[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block7c_project_bn_b (BatchNorm (None, 4, 4, 512)    2048        block7c_project_conv_b[0][0]     \n",
      "__________________________________________________________________________________________________\n",
      "block7c_drop_a (FixedDropout)   (None, 15, 15, 512)  0           block7c_project_bn_a[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7c_drop_b (FixedDropout)   (None, 4, 4, 512)    0           block7c_project_bn_b[0][0]       \n",
      "__________________________________________________________________________________________________\n",
      "block7c_add_a (Add)             (None, 15, 15, 512)  0           block7c_drop_a[0][0]             \n",
      "                                                                 block7b_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "block7c_add_b (Add)             (None, 4, 4, 512)    0           block7c_drop_b[0][0]             \n",
      "                                                                 block7b_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "top_conv_a (Conv2D)             (None, 15, 15, 2048) 1048576     block7c_add_a[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "top_conv_b (Conv2D)             (None, 4, 4, 2048)   1048576     block7c_add_b[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "top_bn_a (BatchNormalization)   (None, 15, 15, 2048) 8192        top_conv_a[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "top_bn_b (BatchNormalization)   (None, 4, 4, 2048)   8192        top_conv_b[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "top_activation_a (Activation)   (None, 15, 15, 2048) 0           top_bn_a[0][0]                   \n",
      "__________________________________________________________________________________________________\n",
      "top_activation_b (Activation)   (None, 4, 4, 2048)   0           top_bn_b[0][0]                   \n",
      "__________________________________________________________________________________________________\n",
      "avg_pool_a (GlobalAveragePoolin (None, 2048)         0           top_activation_a[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "avg_pool_b (GlobalAveragePoolin (None, 2048)         0           top_activation_b[0][0]           \n",
      "__________________________________________________________________________________________________\n",
      "concatenate_1 (Concatenate)     (None, 4096)         0           avg_pool_a[0][0]                 \n",
      "                                                                 avg_pool_b[0][0]                 \n",
      "__________________________________________________________________________________________________\n",
      "dense_1 (Dense)                 (None, 128)          524416      concatenate_1[0][0]              \n",
      "__________________________________________________________________________________________________\n",
      "batch_normalization_1 (BatchNor (None, 128)          512         dense_1[0][0]                    \n",
      "__________________________________________________________________________________________________\n",
      "dropout_1 (Dropout)             (None, 128)          0           batch_normalization_1[0][0]      \n",
      "__________________________________________________________________________________________________\n",
      "dense_2 (Dense)                 (None, 40)           5160        dropout_1[0][0]                  \n",
      "==================================================================================================\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Total params: 57,557,128\n",
      "Trainable params: 55,119,832\n",
      "Non-trainable params: 2,437,296\n",
      "__________________________________________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "# x = base_model.output\n",
    "\n",
    "x = Dense(128)(x)\n",
    "x = BatchNormalization()(x)\n",
    "x=Dropout(0.5)(x)\n",
    "\n",
    "DENSE_KERNEL_INITIALIZER = {\n",
    "    'class_name': 'VarianceScaling',\n",
    "    'config': {\n",
    "        'scale': 1. / 3.,\n",
    "        'mode': 'fan_out',\n",
    "        'distribution': 'uniform'\n",
    "    }\n",
    "}\n",
    "predictions = Dense(n_classess, activation='softmax',kernel_initializer=DENSE_KERNEL_INITIALIZER)(x)\n",
    "model = Model(inputs=img_input, outputs=predictions)\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open(f'../tmp/model_{__file__}.json','w') as f:\n",
    "    model_json = model.to_json()\n",
    "    f.write(model_json)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "ckpt = ModelCheckpoint('../tmp/ckpt-'+__file__+'-Epoch_{epoch:03d}-acc_{acc:.5f}-val_acc_{val_acc:.5f}.h5', save_best_only=True, monitor='val_acc',verbose=1)\n",
    "\n",
    "estop = EarlyStopping(monitor='val_acc', min_delta=1e-7,verbose=1, patience=20)\n",
    "\n",
    "reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.5,patience=3, min_lr=1e-5,verbose=1)\n",
    "\n",
    "csv_logger = CSVLogger(f'../tmp/training_{__file__}.log',append=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Use tf.cast instead.\n",
      "Epoch 1/100\n",
      "739/739 [==============================] - 764s 1s/step - loss: 1.6272 - acc: 0.5797 - val_loss: 0.5062 - val_acc: 0.8787\n",
      "\n",
      "Epoch 00001: val_acc improved from -inf to 0.87870, saving model to ../tmp/ckpt-EfficientNet-B5-9.4.13-2-Epoch_001-acc_0.57967-val_acc_0.87870.h5\n",
      "Epoch 2/100\n",
      "739/739 [==============================] - 696s 942ms/step - loss: 0.5818 - acc: 0.8443 - val_loss: 0.3573 - val_acc: 0.9073\n",
      "\n",
      "Epoch 00002: val_acc improved from 0.87870 to 0.90726, saving model to ../tmp/ckpt-EfficientNet-B5-9.4.13-2-Epoch_002-acc_0.84430-val_acc_0.90726.h5\n",
      "Epoch 3/100\n",
      "739/739 [==============================] - 692s 937ms/step - loss: 0.3582 - acc: 0.9021 - val_loss: 0.3171 - val_acc: 0.9194\n",
      "\n",
      "Epoch 00003: val_acc improved from 0.90726 to 0.91935, saving model to ../tmp/ckpt-EfficientNet-B5-9.4.13-2-Epoch_003-acc_0.90206-val_acc_0.91935.h5\n",
      "Epoch 4/100\n",
      "739/739 [==============================] - 692s 936ms/step - loss: 0.2540 - acc: 0.9354 - val_loss: 0.3013 - val_acc: 0.9231\n",
      "\n",
      "Epoch 00004: val_acc improved from 0.91935 to 0.92305, saving model to ../tmp/ckpt-EfficientNet-B5-9.4.13-2-Epoch_004-acc_0.93539-val_acc_0.92305.h5\n",
      "Epoch 5/100\n",
      "739/739 [==============================] - 693s 938ms/step - loss: 0.1825 - acc: 0.9529 - val_loss: 0.2996 - val_acc: 0.9207\n",
      "\n",
      "Epoch 00005: val_acc did not improve from 0.92305\n",
      "Epoch 6/100\n",
      "739/739 [==============================] - 691s 936ms/step - loss: 0.1440 - acc: 0.9628 - val_loss: 0.2855 - val_acc: 0.9315\n",
      "\n",
      "Epoch 00006: val_acc improved from 0.92305 to 0.93145, saving model to ../tmp/ckpt-EfficientNet-B5-9.4.13-2-Epoch_006-acc_0.96279-val_acc_0.93145.h5\n",
      "Epoch 7/100\n",
      "739/739 [==============================] - 692s 937ms/step - loss: 0.1188 - acc: 0.9707 - val_loss: 0.3077 - val_acc: 0.9231\n",
      "\n",
      "Epoch 00007: val_acc did not improve from 0.93145\n",
      "Epoch 8/100\n",
      "739/739 [==============================] - 692s 937ms/step - loss: 0.1088 - acc: 0.9727 - val_loss: 0.3034 - val_acc: 0.9301\n",
      "\n",
      "Epoch 00008: val_acc did not improve from 0.93145\n",
      "Epoch 9/100\n",
      "739/739 [==============================] - 690s 934ms/step - loss: 0.0936 - acc: 0.9750 - val_loss: 0.3034 - val_acc: 0.9197\n",
      "\n",
      "Epoch 00009: val_acc did not improve from 0.93145\n",
      "\n",
      "Epoch 00009: ReduceLROnPlateau reducing learning rate to 4.999999873689376e-05.\n",
      "Epoch 10/100\n",
      "739/739 [==============================] - 691s 935ms/step - loss: 0.0713 - acc: 0.9818 - val_loss: 0.2641 - val_acc: 0.9382\n",
      "\n",
      "Epoch 00010: val_acc improved from 0.93145 to 0.93817, saving model to ../tmp/ckpt-EfficientNet-B5-9.4.13-2-Epoch_010-acc_0.98182-val_acc_0.93817.h5\n",
      "Epoch 11/100\n",
      "739/739 [==============================] - 694s 938ms/step - loss: 0.0489 - acc: 0.9887 - val_loss: 0.2576 - val_acc: 0.9351\n",
      "\n",
      "Epoch 00011: val_acc did not improve from 0.93817\n",
      "Epoch 12/100\n",
      "739/739 [==============================] - 692s 936ms/step - loss: 0.0426 - acc: 0.9903 - val_loss: 0.2685 - val_acc: 0.9372\n",
      "\n",
      "Epoch 00012: val_acc did not improve from 0.93817\n",
      "Epoch 13/100\n",
      "739/739 [==============================] - 692s 936ms/step - loss: 0.0404 - acc: 0.9893 - val_loss: 0.2706 - val_acc: 0.9375\n",
      "\n",
      "Epoch 00013: val_acc did not improve from 0.93817\n",
      "Epoch 14/100\n",
      "739/739 [==============================] - 688s 932ms/step - loss: 0.0368 - acc: 0.9922 - val_loss: 0.2653 - val_acc: 0.9335\n",
      "\n",
      "Epoch 00014: val_acc did not improve from 0.93817\n",
      "\n",
      "Epoch 00014: ReduceLROnPlateau reducing learning rate to 2.499999936844688e-05.\n",
      "Epoch 15/100\n",
      "739/739 [==============================] - 695s 940ms/step - loss: 0.0301 - acc: 0.9931 - val_loss: 0.2626 - val_acc: 0.9368\n",
      "\n",
      "Epoch 00015: val_acc did not improve from 0.93817\n",
      "Epoch 16/100\n",
      "739/739 [==============================] - 693s 938ms/step - loss: 0.0237 - acc: 0.9955 - val_loss: 0.2641 - val_acc: 0.9375\n",
      "\n",
      "Epoch 00016: val_acc did not improve from 0.93817\n",
      "Epoch 17/100\n",
      "739/739 [==============================] - 695s 940ms/step - loss: 0.0262 - acc: 0.9941 - val_loss: 0.2549 - val_acc: 0.9375\n",
      "\n",
      "Epoch 00017: val_acc did not improve from 0.93817\n",
      "Epoch 18/100\n",
      "739/739 [==============================] - 695s 941ms/step - loss: 0.0217 - acc: 0.9951 - val_loss: 0.2625 - val_acc: 0.9385\n",
      "\n",
      "Epoch 00018: val_acc improved from 0.93817 to 0.93851, saving model to ../tmp/ckpt-EfficientNet-B5-9.4.13-2-Epoch_018-acc_0.99509-val_acc_0.93851.h5\n",
      "Epoch 19/100\n",
      "739/739 [==============================] - 689s 933ms/step - loss: 0.0212 - acc: 0.9953 - val_loss: 0.2699 - val_acc: 0.9382\n",
      "\n",
      "Epoch 00019: val_acc did not improve from 0.93851\n",
      "Epoch 20/100\n",
      "739/739 [==============================] - 688s 932ms/step - loss: 0.0195 - acc: 0.9952 - val_loss: 0.2666 - val_acc: 0.9362\n",
      "\n",
      "Epoch 00020: val_acc did not improve from 0.93851\n",
      "\n",
      "Epoch 00020: ReduceLROnPlateau reducing learning rate to 1.249999968422344e-05.\n",
      "Epoch 21/100\n",
      "739/739 [==============================] - 691s 935ms/step - loss: 0.0191 - acc: 0.9957 - val_loss: 0.2653 - val_acc: 0.9409\n",
      "\n",
      "Epoch 00021: val_acc improved from 0.93851 to 0.94086, saving model to ../tmp/ckpt-EfficientNet-B5-9.4.13-2-Epoch_021-acc_0.99569-val_acc_0.94086.h5\n",
      "Epoch 22/100\n",
      "739/739 [==============================] - 689s 932ms/step - loss: 0.0177 - acc: 0.9967 - val_loss: 0.2752 - val_acc: 0.9378\n",
      "\n",
      "Epoch 00022: val_acc did not improve from 0.94086\n",
      "Epoch 23/100\n",
      "739/739 [==============================] - 689s 932ms/step - loss: 0.0171 - acc: 0.9964 - val_loss: 0.2656 - val_acc: 0.9388\n",
      "\n",
      "Epoch 00023: val_acc did not improve from 0.94086\n",
      "\n",
      "Epoch 00023: ReduceLROnPlateau reducing learning rate to 1e-05.\n",
      "Epoch 24/100\n",
      "739/739 [==============================] - 691s 935ms/step - loss: 0.0167 - acc: 0.9967 - val_loss: 0.2664 - val_acc: 0.9392\n",
      "\n",
      "Epoch 00024: val_acc did not improve from 0.94086\n",
      "Epoch 25/100\n",
      "739/739 [==============================] - 689s 933ms/step - loss: 0.0139 - acc: 0.9974 - val_loss: 0.2676 - val_acc: 0.9409\n",
      "\n",
      "Epoch 00025: val_acc did not improve from 0.94086\n",
      "Epoch 26/100\n",
      "739/739 [==============================] - 688s 931ms/step - loss: 0.0119 - acc: 0.9978 - val_loss: 0.2648 - val_acc: 0.9422\n",
      "\n",
      "Epoch 00026: val_acc improved from 0.94086 to 0.94220, saving model to ../tmp/ckpt-EfficientNet-B5-9.4.13-2-Epoch_026-acc_0.99780-val_acc_0.94220.h5\n",
      "Epoch 27/100\n",
      "739/739 [==============================] - 689s 933ms/step - loss: 0.0130 - acc: 0.9975 - val_loss: 0.2692 - val_acc: 0.9412\n",
      "\n",
      "Epoch 00027: val_acc did not improve from 0.94220\n",
      "Epoch 28/100\n",
      "739/739 [==============================] - 691s 935ms/step - loss: 0.0141 - acc: 0.9967 - val_loss: 0.2744 - val_acc: 0.9388\n",
      "\n",
      "Epoch 00028: val_acc did not improve from 0.94220\n",
      "Epoch 29/100\n",
      "739/739 [==============================] - 689s 933ms/step - loss: 0.0138 - acc: 0.9970 - val_loss: 0.2734 - val_acc: 0.9395\n",
      "\n",
      "Epoch 00029: val_acc did not improve from 0.94220\n",
      "Epoch 30/100\n",
      "739/739 [==============================] - 698s 945ms/step - loss: 0.0118 - acc: 0.9980 - val_loss: 0.2713 - val_acc: 0.9392\n",
      "\n",
      "Epoch 00030: val_acc did not improve from 0.94220\n",
      "Epoch 31/100\n",
      "739/739 [==============================] - 700s 948ms/step - loss: 0.0116 - acc: 0.9980 - val_loss: 0.2721 - val_acc: 0.9402\n",
      "\n",
      "Epoch 00031: val_acc did not improve from 0.94220\n",
      "Epoch 32/100\n",
      "739/739 [==============================] - 754s 1s/step - loss: 0.0118 - acc: 0.9978 - val_loss: 0.2704 - val_acc: 0.9412\n",
      "\n",
      "Epoch 00032: val_acc did not improve from 0.94220\n",
      "Epoch 33/100\n",
      "739/739 [==============================] - 844s 1s/step - loss: 0.0108 - acc: 0.9975 - val_loss: 0.2726 - val_acc: 0.9395\n",
      "\n",
      "Epoch 00033: val_acc did not improve from 0.94220\n",
      "Epoch 34/100\n",
      "739/739 [==============================] - 726s 983ms/step - loss: 0.0103 - acc: 0.9983 - val_loss: 0.2733 - val_acc: 0.9412\n",
      "\n",
      "Epoch 00034: val_acc did not improve from 0.94220\n",
      "Epoch 35/100\n",
      "739/739 [==============================] - 694s 938ms/step - loss: 0.0106 - acc: 0.9978 - val_loss: 0.2775 - val_acc: 0.9409\n",
      "\n",
      "Epoch 00035: val_acc did not improve from 0.94220\n",
      "Epoch 36/100\n",
      "739/739 [==============================] - 694s 940ms/step - loss: 0.0096 - acc: 0.9984 - val_loss: 0.2724 - val_acc: 0.9422\n",
      "\n",
      "Epoch 00036: val_acc did not improve from 0.94220\n",
      "Epoch 37/100\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "739/739 [==============================] - 697s 943ms/step - loss: 0.0098 - acc: 0.9983 - val_loss: 0.2727 - val_acc: 0.9429\n",
      "\n",
      "Epoch 00037: val_acc improved from 0.94220 to 0.94288, saving model to ../tmp/ckpt-EfficientNet-B5-9.4.13-2-Epoch_037-acc_0.99831-val_acc_0.94288.h5\n",
      "Epoch 38/100\n",
      "739/739 [==============================] - 697s 943ms/step - loss: 0.0095 - acc: 0.9980 - val_loss: 0.2727 - val_acc: 0.9419\n",
      "\n",
      "Epoch 00038: val_acc did not improve from 0.94288\n",
      "Epoch 39/100\n",
      "739/739 [==============================] - 694s 939ms/step - loss: 0.0086 - acc: 0.9982 - val_loss: 0.2743 - val_acc: 0.9412\n",
      "\n",
      "Epoch 00039: val_acc did not improve from 0.94288\n",
      "Epoch 40/100\n",
      "739/739 [==============================] - 698s 944ms/step - loss: 0.0104 - acc: 0.9981 - val_loss: 0.2750 - val_acc: 0.9419\n",
      "\n",
      "Epoch 00040: val_acc did not improve from 0.94288\n",
      "Epoch 41/100\n",
      "739/739 [==============================] - 696s 942ms/step - loss: 0.0083 - acc: 0.9981 - val_loss: 0.2748 - val_acc: 0.9425\n",
      "\n",
      "Epoch 00041: val_acc did not improve from 0.94288\n",
      "Epoch 42/100\n",
      "739/739 [==============================] - 696s 942ms/step - loss: 0.0086 - acc: 0.9980 - val_loss: 0.2749 - val_acc: 0.9412\n",
      "\n",
      "Epoch 00042: val_acc did not improve from 0.94288\n",
      "Epoch 43/100\n",
      "739/739 [==============================] - 700s 947ms/step - loss: 0.0097 - acc: 0.9982 - val_loss: 0.2805 - val_acc: 0.9425\n",
      "\n",
      "Epoch 00043: val_acc did not improve from 0.94288\n",
      "Epoch 44/100\n",
      "739/739 [==============================] - 695s 940ms/step - loss: 0.0084 - acc: 0.9982 - val_loss: 0.2778 - val_acc: 0.9419\n",
      "\n",
      "Epoch 00044: val_acc did not improve from 0.94288\n",
      "Epoch 45/100\n",
      "739/739 [==============================] - 694s 939ms/step - loss: 0.0081 - acc: 0.9988 - val_loss: 0.2768 - val_acc: 0.9402\n",
      "\n",
      "Epoch 00045: val_acc did not improve from 0.94288\n",
      "Epoch 46/100\n",
      "739/739 [==============================] - 695s 941ms/step - loss: 0.0083 - acc: 0.9988 - val_loss: 0.2791 - val_acc: 0.9412\n",
      "\n",
      "Epoch 00046: val_acc did not improve from 0.94288\n",
      "Epoch 47/100\n",
      "739/739 [==============================] - 697s 943ms/step - loss: 0.0085 - acc: 0.9981 - val_loss: 0.2830 - val_acc: 0.9412\n",
      "\n",
      "Epoch 00047: val_acc did not improve from 0.94288\n",
      "Epoch 48/100\n",
      "739/739 [==============================] - 695s 940ms/step - loss: 0.0088 - acc: 0.9985 - val_loss: 0.2827 - val_acc: 0.9395\n",
      "\n",
      "Epoch 00048: val_acc did not improve from 0.94288\n",
      "Epoch 49/100\n",
      "739/739 [==============================] - 697s 943ms/step - loss: 0.0083 - acc: 0.9981 - val_loss: 0.2808 - val_acc: 0.9399\n",
      "\n",
      "Epoch 00049: val_acc did not improve from 0.94288\n",
      "Epoch 50/100\n",
      "739/739 [==============================] - 696s 941ms/step - loss: 0.0081 - acc: 0.9983 - val_loss: 0.2788 - val_acc: 0.9429\n",
      "\n",
      "Epoch 00050: val_acc did not improve from 0.94288\n",
      "Epoch 51/100\n",
      "739/739 [==============================] - 695s 940ms/step - loss: 0.0080 - acc: 0.9985 - val_loss: 0.2762 - val_acc: 0.9422\n",
      "\n",
      "Epoch 00051: val_acc did not improve from 0.94288\n",
      "Epoch 52/100\n",
      "739/739 [==============================] - 695s 940ms/step - loss: 0.0075 - acc: 0.9981 - val_loss: 0.2740 - val_acc: 0.9425\n",
      "\n",
      "Epoch 00052: val_acc did not improve from 0.94288\n",
      "Epoch 53/100\n",
      "739/739 [==============================] - 695s 941ms/step - loss: 0.0069 - acc: 0.9987 - val_loss: 0.2706 - val_acc: 0.9432\n",
      "\n",
      "Epoch 00053: val_acc improved from 0.94288 to 0.94321, saving model to ../tmp/ckpt-EfficientNet-B5-9.4.13-2-Epoch_053-acc_0.99873-val_acc_0.94321.h5\n",
      "Epoch 54/100\n",
      "591/739 [======================>.......] - ETA: 2:03 - loss: 0.0071 - acc: 0.9987"
     ]
    }
   ],
   "source": [
    "model.compile(optimizer=Adam(lr=1e-4), loss='categorical_crossentropy', metrics=['accuracy'])\n",
    "\n",
    "model.fit_generator(\n",
    "    train_g,\n",
    "    # steps_per_epoch=100,\n",
    "    steps_per_epoch=train_g.n // batch_size,\n",
    "    epochs=100,\n",
    "    class_weight=d_class_weights,\n",
    "    callbacks=[ckpt, estop,reduce_lr,csv_logger],\n",
    "    validation_data=valid_g,\n",
    "    # validation_steps=1,\n",
    "    validation_steps=valid_g.n // batch_size\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!ls"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
